2015-04-15 22 views
6

Poiché il mio sfondo popup è di colore bianco, ho bisogno di cambiare il colore del divisore. Ho provato lo styling il filatore nel seguente modo, ma non funziona:Cambia il colore del divisore di Spinner

styles.xml

<style name="applicationTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:dropDownListViewStyle">@style/SpinnerStyle</item> 
</style> 

<style name="SpinnerStyle" parent="android:Widget.ListView.DropDown"> 
    <item name="android:divider">#0193DE</item> 
    <item name="android:dividerHeight">1dp</item> 
</style> 

xml principale

<Spinner 
     android:id="@+id/year" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" 
     android:background="@drawable/apptheme_spinner_default_holo_dark" 
     android:layout_marginLeft="75dp" 
     android:layout_marginRight="10dp" 
     android:layout_marginTop="10dp" 
     android:spinnerMode="dropdown" 
     style="@style/SpinnerStyle" 
     android:popupBackground="#FFFFFF" /> 

java

ArrayAdapter<Integer> adapter_year = new ArrayAdapter<Integer>(this, R.drawable.custom_spinner_holidays, year); 
    adapter_year.setDropDownViewResource(R.layout.custom_spinner_popup); 

custom_spinner_holidays.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerItemStyle" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:textColor="@android:color/white" /> 

custom_spinner_popup

<?xml version="1.0" encoding="utf-8"?> 
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerDropDownItemStyle" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:ellipsize="marquee" 
    android:singleLine="true" 
    android:textColor="#0193DE" /> 

Posso solo combinare tutti questi in uno?

+0

sto ancora aspettando una risposta perfetta .. Niente sembra funzionare :( –

+0

Qualcuno mi può dare una mano ? Sono bloccato qui! –

risposta

2

Hai bisogno di mettere questo tema nel file manifesto in questo modo:

<activity android:name="com.example.activity.Solution" 
     android:theme="@style/applicationTheme"> 
</activity> 
+0

grazie mille: D –

0

Forse l'idea migliore è quella di fare il tuo filatore e puoi modellarlo nel modo che desideri. Dai un'occhiata al thread successivo è stato così utile per me.

How to customize a Spinner in Android

+0

Il mio problema reale è che lo stile non viene applicato sulla casella di selezione. Non ci sono errori di runtime. Perché sta succedendo? –

+0

Forse hai dimenticato di impostare il tuo stile nella tua attività? Http: // StackOverflow. it/questions/4569751/how-to-show-divider-between-spinner-items/10177016 # 10177016 – acostela

Problemi correlati