Android
Spinner
Zoeken…
Een spinner toevoegen aan uw activiteit
In /res/values/strings.xml:
<string-array name="spinner_options">
<item>Option 1</item>
<item>Option 2</item>
<item>Option 3</item>
</string-array>
In layout XML:
<Spinner
android:id="@+id/spinnerName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/spinner_options" />
In activiteit:
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) {}
});
Basic Spinner-voorbeeld
Spinner Het is een soort vervolgkeuzelijst. Ten eerste in de lay-out
<Spinner
android:id="@+id/spinner" <!-- id to refer this spinner from JAVA-->
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
Nu tweede waarden invullen in spinner Er zijn hoofdzakelijk twee manieren om waarden in spinner
te vullen.
- Van XML zelf zorgen voor een array.xml in waarden directory onder res. Maak deze
array
<string-array name="defaultValue">
<item>--Select City Area--</item>
<item>--Select City Area--</item>
<item>--Select City Area--</item>
</string-array>
Voeg nu deze regel toe in sppiner XML
android:entries="@array/defaultValue"
- U kunt ook waarden toevoegen via JAVA
als u in activity
cityArea = (Spinner) gebruikt findViewById (R.id.cityArea); anders als u in fragment
cityArea = (Spinner) findViewById(R.id.cityArea);
Maak nu een arrayList
met Strings
ArrayList<String> area = new ArrayList<>();
//add values in area arrayList
cityArea.setAdapter(new ArrayAdapter<String>(context
, android.R.layout.simple_list_item_1, area));
Dit ziet er zo uit
Volgens de Android-versie van het apparaat wordt stijl weergegeven
Hier volgen enkele standaardthema's
Als een app niet expliciet om een thema in zijn manifest vraagt, bepaalt Android-systeem het standaardthema op basis van de targetSdkVersion van de app om de oorspronkelijke verwachtingen van de app te behouden:
Android SDK-versie | Standaard thema |
---|---|
Versie <11 | @android: stijl / Theme |
Versie tussen 11 en 13 | @android: stijl / Theme.Holo |
14 en hoger | @android: stijl / Theme.DeviceDefault |
Spinner
kan eenvoudig worden aangepast met behulp van bijvoorbeeld xml
android:background="@drawable/spinner_background"
android:layout_margin="16dp"
android:padding="16dp"
Maak een aangepaste achtergrond in XML en gebruik deze.
krijg eenvoudig de positie en andere details van het geselecteerde item in de spinner
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) {
}
});
Wijzig de tekstkleur van het geselecteerde item in de spinner
Dit kan op twee manieren in XML worden gedaan
<item android:state_activated="true" android:color="@color/red"/>
Hiermee wordt de geselecteerde itemkleur in de pop-up gewijzigd.
en vanuit JAVA doet u dit (in de setOnItemSelectedListener (...))
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
// similarly change `background color` etc.
}