2011-09-28 12 views

risposta

9

creare un xml: per es: mybg.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false" android:drawable="@color/anyColor" /> 
<item android:drawable="@android:color/transparent" /> 
</selector> 

e nella vostra attività xml

fare

<Spinner............... 
    android:drawSelectorOnTop="true" 
    android:background="@drawable/mybg"/> 
2
  1. Crea visualizzazione personalizzata di layout (ad esempio da TextView)
  2. Crea un selettore e impostalo come sfondo di quella vista
  3. Set Spinner con visualizzazione personalizzata

Selector: custom_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" 
      android:state_pressed="false" 
      android:drawable="@color/light_grey" /> 
    <item android:state_focused="true" 
      android:state_pressed="true" 
      android:drawable="@color/light_grey" /> 
    <item android:state_focused="false" 
      android:state_pressed="true" 
     android:drawable="@color/light_grey" /> 
    <item android:state_selected="true" android:drawable="@color/light_grey"/> 
    <item android:drawable="@color/white" /> 
</selector> 

visualizzazione personalizzata di layout: my_simple_item

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:lines="1" 
android:padding="5dip" 
android:background="@drawable/custom_selector"/> 

inizializzazione Spinner:

String[] items = new String[] {"One", "Two", "Three"}; 
Spinner spinner = (Spinner) findViewById(R.id.mySpinner); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_simple_item, items); 

Spero che questo aiuta

+1

Quando si scorre usando la rotella del mio mouse, nessun effetto. Gli elementi dovrebbero essere light_grey ma invece sono arancioni (colore predefinito per Android 2.2) vedere la mia domanda http://stackoverflow.com/questions/14737811/spinner-does-not-apply-dropdownselector-attribute – vsvydenko

Problemi correlati