2013-02-22 24 views
11

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? the default number picker in Holo dziękujęjak zmienić styl selektora liczb w systemie Android?

+1

Dlaczego Google nie zezwala stylizacji NumberPicker –

Odpowiedz

0

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.

+3

gdzie mogę znaleźć folder biblioteki, aby skopiować styl? – user1796624

+6

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'. –

+0

Zgadzam się z powyższym komentarzem. Nie znaleziono zasobów. Jak tego użyć? – maXp

23

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.

+0

ale przy użyciu biblioteki zasugerował funkcję przewijania składnika jest stracone, chciałbym Naprawdę lubię tę funkcję. – user1796624

+0

Wersję biblioteki można też przewijać. Nie ma z tym problemu. – Tomik

+1

Niezależnie od tego, jaki styl wybrałem, zawsze * otrzymałem czarny tekst. –

7

enter image description here

<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> 
Powiązane problemy