2013-02-22 5 views
11

Ich möchte das Komponenten-Widget NumberPicker verwenden, aber im Holo-Standard-Design muss ich die blaue Farbe durch Orange ersetzen, da dies die Standardfarbe in meinem Styling ist. Wie kann ich die blaue Farbe und die Farbe der Nummern ersetzen und behalten Sie die gesamte Funktionalität der Komponente? the default number picker in Holo dankWie ändert man den Zahlenauswahl-Stil in Android?

+1

Warum Google nicht Styling Number –

Antwort

0

Erstellen Sie eine Kopie von library/res/drawable - */numberpicker_selection_divider.png und benennen Sie dann zum Beispiel custom_np_sd.9.png.

außer Kraft setzen Standardnumber Stil über Aktivität Thema:

<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> 

Und @ style/AppTheme als Aktivität Thema gelten.

+3

wo kann ich den Bibliotheksordner finden, um den Stil zu kopieren – user1796624

+6

Nicht funktionierend Fehler: Fehler beim Abrufen des übergeordneten Elements für den Artikel: Keine Ressource gefunden, die dem angegebenen Namen '@android entspricht: Stil/Widget.Holo.NumberPicker '. Fehler: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt: attr 'android: selectionDivider'. –

+0

Ich stimme dem obigen Kommentar zu. Keine Ressourcen gefunden Wie man es benutzt? – maXp

23

Leider kann man Stil nicht. Die Stile und Stilattribute für NumberPicker sind in der öffentlichen API nicht vorhanden, daher können Sie sie nicht festlegen und das Standard-Aussehen ändern. Sie können nur zwischen hellem und dunklem Thema wählen.

Als eine Lösung würde ich vorschlagen, stattdessen android-numberpicker Bibliothek zu verwenden. Die Bibliothek ist im Grunde ein Port von NumberPicker, der aus Android-Quellcodes extrahiert wurde. Aber es ist besser als das, es Backports NumberPicker Android 2.x. Die Bibliothek kann leicht gestylt werden.

der Teiler einstellen NPWidget.Holo.NumberPicker Stil und seine selectionDivider und selectionDividerHeight Attribute Stil.
Um den Text zu stylen, passen Sie NPWidget.Holo.EditText.NumberPickerInputText Stil an.

+0

erlauben aber durch die Bibliothek vorgeschlagen, dass Sie die Scroll-Funktionalität der Komponente verloren geht, würde ich wirklich gerne diese Funktionalität zu halten – user1796624

+0

Die Bibliothek Version kann auch blättern. Es gibt kein Problem damit. – Tomik

+1

Egal welchen Stil ich wählte, ich * bekam * immer schwarzen Text. –

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>