2010-07-29 2 views
1

Pourquoi ce bouton de changement de couleur à l'orange lorsque vous cliquez dessus:Qu'est-ce qui fait qu'un bouton change de couleur sur le clic de souris?

<Button android:background="@android:drawable/btn_plus" ...> 

mais celui-ci n'est pas?

<Button android:background="@drawable/ic_btn_round_plus" ...> 

Edit:
trouvé un autre type de bouton (texte et image) qui change de couleur à l'orange lorsque vous cliquez dessus
sans avoir à créer un sélecteur:

<Button android:text="List" android:drawableTop="@drawable/list" ...>  

Répondre

3

parce que le premier est de android framework et a un sélecteur associé, et l'autre est une coutume de votre code, et vous n'avez évidemment pas mis un sélecteur sur elle.
Ceci est bien expliqué here. En bref, vous devez mettre un drawable sélecteur en arrière-plan de votre bouton, au lieu d'un seul drawable:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_selected="true" android:drawable="@drawable/ic_btn_round_plusorange" /> 
<item android:state_pressed="true" android:drawable="@drawable/ic_btn_round_plusorange" /> 
<item android:drawable="@drawable/ic_btn_round_plus" /> 
</selector> 

et vous vous créez copie de votre drawable mais avec une couleur orange ajouté à ce par exemple. Le système Android bascule le retrait lorsque le bouton est cliqué ou sélectionné.

Questions connexes