Android permet une StateList fichier XML dessinable qui est le moyen prévu pour obtenir l'effet que vous recherchez.
read about it here
L'idée est que vous faites un fichier xml qui déclare un autre drawable (ou couleur si vous voulez des couleurs unies) pour chaque état. Ensuite, lorsque vous appliquez cette statistique pouvant être dessinée en tant qu'arrière-plan de votre vue, elle gérera la "magie" de changer votre image de vue pour que vous n'ayez pas à vous soucier de la faire manuellement à partir du code Java.
de sorte que votre extrait de code ressemblerait à quelque chose comme ceci:
myTabHost.getTabWidget().getChildAt(tab).setBackgroundResource(R.drawable.your_state_list_filename);
Voici un exemple d'un fichier de liste d'état que je l'ai utilisé sur un bouton. Vous pouvez copier ceci dans un fichier xml dans votre dossier drawables, puis le modifier pour utiliser les états et les images que vous voulez.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/darkblue1" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/darkblue1" /> <!-- focused -->
<item android:drawable="@drawable/lightblue1" /> <!-- default -->
</selector>
Je pense (mais je ne suis pas certain) que d'utiliser des couleurs au lieu de dessinables vous souhaitez simplement changer "@drawable/blahblah"
-"#FF121212"
où les deux premiers chiffres sont alpha, et les 6 suivants sont la valeur hexadécimale de la couleur que vous voulez .
Êtes-vous essayer de le changer quand il est sélectionné, puis mettez-le de retour quand il devient non sélectionné? – FoamyGuy
oui il est prévu comme ceci – Jaume