Android
स्पिनर
खोज…
अपनी गतिविधि में एक स्पिनर जोड़ना
/Res/values/strings.xml में:
<string-array name="spinner_options">
<item>Option 1</item>
<item>Option 2</item>
<item>Option 3</item>
</string-array>
XML में लेआउट:
<Spinner
android:id="@+id/spinnerName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/spinner_options" />
गतिविधि में:
Spinner spinnerName = (Spinner) findViewById(R.id.spinnerName);
spinnerName.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String chosenOption = (String) parent.getItemAtPosition(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
});
बेसिक स्पिनर उदाहरण
स्पिनर यह ड्रॉपडाउन इनपुट का एक प्रकार है। सबसे पहले लेआउट में
<Spinner
android:id="@+id/spinner" <!-- id to refer this spinner from JAVA-->
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
अब स्पिनर में दूसरे मानों को आबाद करें spinner
में मूल्यों को आबाद करने के मुख्य रूप से दो तरीके हैं।
- XML से ही Res के अंतर्गत मान निर्देशिका में array.xml बनाते हैं। इस
array
बनाएं
<string-array name="defaultValue">
<item>--Select City Area--</item>
<item>--Select City Area--</item>
<item>--Select City Area--</item>
</string-array>
अब इस लाइन को sppiner XML में जोड़ें
android:entries="@array/defaultValue"
- आप जावा के माध्यम से मान भी जोड़ सकते हैं
यदि आप activity
में उपयोग कर रहे हैं cityArea = (स्पिनर) findViewById (R.id.cityArea); और अगर आप fragment
में उपयोग कर रहे हैं
cityArea = (Spinner) findViewById(R.id.cityArea);
अब Strings
की एक arrayList
बनाएँ
ArrayList<String> area = new ArrayList<>();
//add values in area arrayList
cityArea.setAdapter(new ArrayAdapter<String>(context
, android.R.layout.simple_list_item_1, area));
ऐसा लगेगा
डिवाइस एंड्रॉइड वर्जन के अनुसार यह स्टाइल को रेंडर करेगा
निम्नलिखित कुछ डिफ़ॉल्ट थीम हैं
यदि कोई ऐप स्पष्ट रूप से अपने विषय में किसी विषय का अनुरोध नहीं करता है, तो एंड्रॉइड सिस्टम ऐप की मूल अपेक्षाओं को बनाए रखने के लिए ऐप के लक्ष्य के आधार पर डिफ़ॉल्ट थीम का निर्धारण करेगा:
Android एसडीके संस्करण | पूर्व निर्धारित विषय |
---|---|
संस्करण <11 | @Android: शैली / थीम |
11 और 13 के बीच संस्करण | @Android: शैली / Theme.Holo |
14 और उच्चतर | @Android: शैली / Theme.DeviceDefault |
Spinner
को आसानी से xml उदा की मदद से अनुकूलित किया जा सकता है
android:background="@drawable/spinner_background"
android:layout_margin="16dp"
android:padding="16dp"
XML में एक कस्टम पृष्ठभूमि बनाएं और इसका उपयोग करें।
आसानी से स्पिनर में चयनित आइटम की स्थिति और अन्य विवरण प्राप्त करें
cityArea.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
areaNo = position;
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
स्पिनर में चयनित आइटम का टेक्स्ट रंग बदलें
यह एक्सएमएल में दो तरीकों से किया जा सकता है
<item android:state_activated="true" android:color="@color/red"/>
यह पॉपअप में चयनित आइटम रंग को बदल देगा।
और JAVA से ऐसा करें (setOnItemSelectedListener (...) में
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
// similarly change `background color` etc.
}