Changer la couleur d'android: activatedBackgroundIndicator
Puis-je changer la couleur par défaut (bleu) de l'attr android:activatedBackgroundIndicator?
Je développe une application pour target 18 et pour minimun 11.
Merci
2 réponses
Voici une façon de le changer sur votre thème:
Mettez à jour votre thème pour appliquer votre style personnalisé sur l'attribut activatedBackgroundIndicator
(ici le thème parent est Holo Light mais vous pouvez bien sûr le changer):
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:activatedBackgroundIndicator">@drawable/list_activated_background</item>
</style>
Dans votre dossier de ressources "drawable", créez le fichier XML list_activated_background et définissez votre nouvel indicateur d'arrière-plan, par exemple:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@color/OrangeLight" />
<item android:state_checked="true" android:drawable="@color/OrangeDark" />
<item android:state_pressed="true" android:drawable="@color/OrangeDark" />
<item android:drawable="@android:color/transparent" />
</selector>
Alors assurez-vous d'appeler votre thème personnalisé dans le fichier manifeste avec android:theme="@style/AppTheme"
dans ce cas par exemple.
Sur Lollipop et au-dessus, vous avez la possibilité de définir colorControlActivated
dans votre thème à la place:
<style name="AppTheme" parent="@android:style/Theme.Material">
<item name="colorControlActivated">@color/your_color</item>
</style>
Cette approche fonctionne parce que le sélecteur activatedBackgroundIndicator
du thème Matériel utilise ?attr/colorControlActivated
pour l'état activitate comme vu dans themes_material.xml et activated_background_material.xml.
Notez que la réponse de Yoann Hercouet est correcte et fonctionne toujours dans Lollipop.