Desidero utilizzare il widget del componente NumberPicker, ma invece nel tema Holo predefinito devo sostituire il colore blu con l'arancione poiché questo è il colore predefinito nel mio stile. Come posso sostituire il colore blu e il colore dei numeri e mantenere tutte le funzionalità del componente? graziecome cambiare lo stile di selezione numero in Android?
risposta
Effettua una copia della libreria/res/drawable - */numberpicker_selection_divider.9.png e chiama quindi, ad esempio, custom_np_sd.9.png.
stile NumberPicker Override di default tramite tema attività:
<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>
e applicare @ stile/AppTheme come tema l'attività.
dove posso trovare la cartella della libreria per copiare lo stile – user1796624
Non funziona Errore: errore nel recupero del genitore per l'articolo: Nessuna risorsa trovata che corrisponde al nome specificato '@android: stile/Widget.Holo.NumberPicker'. Errore: nessuna risorsa trovata corrispondente al nome specificato: attr 'android: selectionDivider'. –
Sono d'accordo con il commento sopra. Nessuna risorsa trovata Come usarlo? – maXp
Sfortunatamente, non è possibile modificarlo. Gli attributi di stili e stili per NumberPicker
non sono presenti nell'API pubblica, pertanto non è possibile impostarli e modificare l'aspetto predefinito. È possibile selezionare solo tra il tema chiaro e scuro.
Come soluzione suggerisco di utilizzare invece la libreria android-numberpicker. La libreria è fondamentalmente una porta di NumberPicker estratto dai codici sorgente di Android. Ma è meglio di questo, anche i backport NumberPicker
per Android 2.x. La libreria può essere facilmente disegnata.
Per lo stile del divisore, regolare lo stile NPWidget.Holo.NumberPicker
e gli attributi selectionDivider
e selectionDividerHeight
.
Per modificare il testo, regolare lo stile NPWidget.Holo.EditText.NumberPickerInputText
.
ma utilizzando la libreria si suggerisce la funzionalità di scorrimento del componente è perduto, lo farei Mi piace davvero mantenere questa funzionalità – user1796624
Anche la versione della libreria può scorrere. Non c'è problema con quello. – Tomik
Non importa quale stile ho scelto, io * sempre * ho il testo nero. –
<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>
Perché Google non consente styling NumberPicker –