Ho setacciato l'interwebs e ho trovato molti post su come modificare i colori di una vista elenco usando un selettore di lista. Comunque non sembra funzionare per me. Quindi la mia domanda sarebbe cosa sto sbagliando?Personalizzazione dei colori di ListView per Android?
Quando utilizzo i file di seguito, ottengo un elenco in cui tutti gli sfondi degli articoli sono inizialmente blu. (Mi aspettavo bianco)
Quando sposto la messa a fuoco su e giù il testo si trasforma in un grigio scuro e gli sfondi degli oggetti sono ancora blu. (Questo è quando mi aspetterei che una singola riga sia blu con il resto bianco)
Quando faccio clic su una riga lo sfondo della riga su cui ho fatto clic diventa nero e tutte le altre righe diventano verdi. (Mi aspettavo di avere la fila ho cliccato diventa verde e il resto essere di colore bianco)
Qui è la mia principale file di layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:listSelector="@drawable/item_selector"
/>
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/empty"
/>
</LinearLayout>
Ecco il mio file elemento della lista:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:padding="10sp">
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
/>
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textStyle="bold"
android:padding="7dip"
android:textSize="18sp"
android:layout_toRightOf="@id/checkbox"
/>
</RelativeLayout>
Qui è il file miei colori:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff00</color>
<color name="green">#f0f0</color>
<color name="blue">#f00f</color>
<color name="white">#ffff</color>
</resources>
Ecco il mio file di selezione:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@color/green" />
<item
android:state_focused="true"
android:drawable="@color/blue" />
<item
android:drawable="@color/white" />
</selector>
Speriamo che sia qualcosa di stupido e semplice che sto sbagliando.
Grazie in anticipo.
sembra che l'intero listView stesso sia focalizzato invece delle singole voci dell'elenco. – YGL