Chcę użyć widgetu składnika NumberPicker, ale zamiast tego w domyślnym motywie Holo muszę zamienić niebieski kolor na pomarańczowy, ponieważ jest to domyślny kolor w mojej stylizacji. Jak mogę zamienić niebieski kolor i kolor liczb i zachować całą funkcjonalność komponentu? dziękujęjak zmienić styl selektora liczb w systemie Android?
Odpowiedz
Utwórz kopię biblioteki/res/drawable - */numberpicker_selection_divider.9.png i nadaj jej nazwę, na przykład custom_np_sd.9.png.
Zastąp domyślny styl NumberPicker poprzez aktywność tematu:
<style name="AppTheme" parent="@style/Holo.Theme">
<item name="numberPickerStyle">@style/CustomNPStyle</item>
</style>
<style name="CustomNPStyle" parent="@style/Holo.NumberPicker">
<item name="selectionDivider">@drawable/custom_np_sd</item>
</style>
i zastosować @ Styl/AppTheme jako działalność tematu.
gdzie mogę znaleźć folder biblioteki, aby skopiować styl? – user1796624
Nie działa Błąd: Błąd podczas pobierania elementu nadrzędnego dla elementu: Nie znaleziono zasobu pasującego do podanej nazwy '@android: styl/Widget.Holo.NumberPicker ". Błąd: Nie znaleziono zasobu pasującego do podanej nazwy: attr 'android: selectionDivider'. –
Zgadzam się z powyższym komentarzem. Nie znaleziono zasobów. Jak tego użyć? – maXp
Niestety, nie można tego stylu. Style i atrybuty stylizacji dla NumberPicker
nie występują w publicznym interfejsie API, dlatego nie można ich ustawić i zmienić domyślnego wyglądu. Możesz wybrać tylko jasną i ciemną kompozycję.
Jako rozwiązanie proponuję zamiast tego użyć biblioteki android-numberpicker. Biblioteka jest w zasadzie portem NumberPicker wyodrębnionym z kodów źródłowych Androida. Ale to jest lepsze niż to, ale również przenosi do systemu Android 2.x NumberPicker
. Biblioteka może być łatwo stylizowana.
Aby ustawić styl dzielnika, należy dostosować styl NPWidget.Holo.NumberPicker
i jego atrybuty selectionDivider
i .
Aby ustawić styl tekstu, dostosuj styl: NPWidget.Holo.EditText.NumberPickerInputText
.
ale przy użyciu biblioteki zasugerował funkcję przewijania składnika jest stracone, chciałbym Naprawdę lubię tę funkcję. – user1796624
Wersję biblioteki można też przewijać. Nie ma z tym problemu. – Tomik
Niezależnie od tego, jaki styl wybrałem, zawsze * otrzymałem czarny tekst. –
<NumberPicker
android:id="@+id/np"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerHorizontal="true"
android:background="@drawable/drawablenp"
android:layout_centerVertical="true"></NumberPicker>
Create a background in drawable folder
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
android:startColor="#707070"
android:centerColor="#f8f8f8"
android:endColor="#707070"
android:angle="270"/>
</shape>
Dlaczego Google nie zezwala stylizacji NumberPicker –