Android
Prządka
Szukaj…
Dodanie przędzarki do swojej aktywności
W /res/values/strings.xml:
<string-array name="spinner_options">
<item>Option 1</item>
<item>Option 2</item>
<item>Option 3</item>
</string-array>
W układzie XML:
<Spinner
android:id="@+id/spinnerName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/spinner_options" />
W działaniu:
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) {}
});
Podstawowy przykład przędzarki
Spinner Jest to rodzaj menu rozwijanego. Po pierwsze w układzie
<Spinner
android:id="@+id/spinner" <!-- id to refer this spinner from JAVA-->
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
Teraz Po drugie, wypełnij wartości w pokrętle Istnieją głównie dwa sposoby wypełniania wartości w spinner
.
- Z samego XML utwórz plik array.xml w katalogu wartości w res . Utwórz tę
array
<string-array name="defaultValue">
<item>--Select City Area--</item>
<item>--Select City Area--</item>
<item>--Select City Area--</item>
</string-array>
Teraz dodaj tę linię w XML sppiner
android:entries="@array/defaultValue"
- Możesz także dodawać wartości za pośrednictwem JAVA
jeśli używasz w activity
cityArea = (Spinner) findViewById (R.id.cityArea); jeśli używasz fragment
cityArea = (Spinner) findViewById(R.id.cityArea);
Teraz utwórz arrayList
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));
Tak będzie wyglądać
Zgodnie z wersją urządzenia z Androidem będzie renderować styl
Oto niektóre z domyślnych motywów
Jeśli aplikacja nie zażąda wyraźnie motywu w swoim manifeście, system Android określi domyślny motyw na podstawie docelowej aplikacji w celu zachowania pierwotnych oczekiwań aplikacji:
Wersja Android SDK | Domyślny motyw |
---|---|
Wersja <11 | @android: styl / motyw |
Wersja między 11 a 13 | @android: style / Theme.Holo |
14 i więcej | @android: style / Theme.DeviceDefault |
Spinner
można łatwo dostosować za pomocą xml np
android:background="@drawable/spinner_background"
android:layout_margin="16dp"
android:padding="16dp"
Utwórz niestandardowe tło w formacie XML i użyj go.
łatwo uzyskać pozycję i inne szczegóły wybranego przedmiotu w tarczy
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) {
}
});
Zmień kolor tekstu wybranego elementu w pokrętle
Można to zrobić na dwa sposoby w XML
<item android:state_activated="true" android:color="@color/red"/>
Spowoduje to zmianę koloru wybranego elementu w oknie podręcznym.
i od JAVA zrób to (w setOnItemSelectedListener (...))
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
// similarly change `background color` etc.
}