Android
Fileur
Recherche…
Ajouter un spinner à votre activité
Dans /res/values/strings.xml:
<string-array name="spinner_options">
<item>Option 1</item>
<item>Option 2</item>
<item>Option 3</item>
</string-array>
Dans le format XML:
<Spinner
android:id="@+id/spinnerName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/spinner_options" />
En activité:
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) {}
});
Exemple de base de spinner
Spinner C'est un type de liste déroulante. Tout d'abord dans la mise en page
<Spinner
android:id="@+id/spinner" <!-- id to refer this spinner from JAVA-->
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
Maintenant, remplissez les valeurs dans spinner Il existe principalement deux manières de renseigner les valeurs dans spinner
.
- À partir de XML même, créez un tableau array.xml dans le répertoire de valeurs sous res . Créer ce
array
<string-array name="defaultValue">
<item>--Select City Area--</item>
<item>--Select City Area--</item>
<item>--Select City Area--</item>
</string-array>
Maintenant, ajoutez cette ligne dans XML sppiner
android:entries="@array/defaultValue"
- Vous pouvez également ajouter des valeurs via JAVA
Si vous utilisez l' activity
cityArea = (Spinner) findViewById (R.id.cityArea); sinon si vous utilisez dans le fragment
cityArea = (Spinner) findViewById(R.id.cityArea);
Maintenant, créez un arrayList
de 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));
Cela ressemblera à
Selon le périphérique version Android, il rendra le style
Voici quelques-uns des thèmes par défaut
Si une application ne demande pas explicitement un thème dans son manifeste, le système Android déterminera le thème par défaut en fonction de la cible targetSdkVersion de l'application pour conserver les attentes d'origine de l'application:
Version du SDK Android | Thème par défaut |
---|---|
Version <11 | @ android: style / thème |
Version entre 11 et 13 | @ android: style / theme.holo |
14 et plus | @ android: style / Theme.DeviceDefault |
Spinner
peut être facilement personnalisé à l'aide de xml, par exemple
android:background="@drawable/spinner_background"
android:layout_margin="16dp"
android:padding="16dp"
Créez un arrière-plan personnalisé en XML et utilisez-le.
obtenir facilement la position et d'autres détails de l'élément sélectionné dans 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) {
}
});
Modifier la couleur du texte de l'élément sélectionné dans spinner
Cela peut être fait de deux manières en XML
<item android:state_activated="true" android:color="@color/red"/>
Cela changera la couleur de l'élément sélectionné dans la fenêtre contextuelle.
et de JAVA faire ceci (dans le setOnItemSelectedListener (...))
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
// similarly change `background color` etc.
}