Bonjour à tous ,
j'essai de changer le style d'une listview. Pour le fond en fonction de l'état de la listview pas de problème , en revanche pour la couleur du texte je coince.
J'ai créer un style spécifique :
1 2 3 4
| <style name="listView" parent="@android:style/Widget.ListView">
<item name="android:textColor">@drawable/txt_listview</item>
<item name="android:listSelector">@drawable/bg_listview</item>
</style> |
Puis deux drawable pour le text et le fond :
Texte :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:state_pressed="true" android:color="@android:color/white" />
<!-- focused -->
<item android:state_focused="true" android:color="@android:color/white" />
<!-- selected -->
<item android:state_selected="true" android:color="@android:color/white" />
<!-- default -->
<item android:color="@android:color/white" />
</selector> |
Fond :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:state_pressed="true">
<shape android:shape="rectangle">
<gradient
android:startColor="@color/listview_gradient_start"
android:endColor="@color/listview_gradient_end"
android:angle="270">
</gradient>
</shape>
</item>
<!-- focused -->
<item android:state_focused="true">
<shape android:shape="rectangle">
<gradient
android:startColor="@color/listview_gradient_start"
android:endColor="@color/listview_gradient_end"
android:angle="270">
</gradient>
</shape>
</item>
<!-- selected -->
<item android:state_selected="true">
<shape android:shape="rectangle">
<gradient
android:startColor="@color/listview_gradient_start"
android:endColor="@color/listview_gradient_end"
android:angle="270">
</gradient>
</shape>
</item>
<!-- default -->
<item android:drawable="@android:color/transparent" />
</selector> |
Et enfin la listview concernée , à laquelle j'applique le style :
<ListView style="@style/listView" android:cacheColorHint="#00000000" android:layout_height="fill_parent" android:id="@+id/lv_groupe" android:layout_width="fill_parent" android:layout_weight="1"></ListView>
Malgré tout cela la couleur du texte reste désespérément noire en état pressé ou sélectionné.
Qu'est ce que j'ai loupé ?
Partager