2011-11-15 3 views
5

Je souhaite changer l'arrière-plan vert d'un bouton lorsque celui-ci est touché sans utiliser OnTouchListener. J'ai cette situation: je mets quelques boutons dans une couche, puis la couche dans une autre couche, et la dernière couche dans une autre couche. quand je touche le bouton, l'arrière-plan change (im en utilisant OnTouchListener maintenant) mais si je fais glisser le doigt hors du bouton et que je le sors de l'écran, le fond du bouton reste l'image de l'état quand il touche (sinon, si je clique sur le bouton et le finnger l'arrêt sur le bouton k est l'arrière-plan change)Modifier l'arrière-plan du bouton au toucher

+0

Si vous n'utilisez pas xml show ur code, je le ferai savoir .. –

Répondre

16

1. Préparer 3 images pour les états du bouton, et le mettre dans le dossier resource/drawable.

2. créer un nouveau fichier XML dans le dossier res/drawable/, quel que soit le nom que vous voulez, dans ce cas, nous donnons juste un nom my_button.xml. Ce fichier définit quel état du bouton appartient à quelle image.

Maintenant, vous pouvez vous référer à ce bouton via l'ID: @ drawable/my_button.

fichier: res/drawable/my_button.xml

créer un fichier XML en utilisant l'image du bouton comme celui-ci avec my_button.xml dans drawable dossier

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/button_pressed_yellow" 
     android:state_pressed="true" /> 
    <item android:drawable="@drawable/button_focused_orange" 
     android:state_focused="true" /> 
<item android:drawable="@drawable/button_normal_green" /> 
</selector> 

ajouter un bouton normal, et fixer l'image d'arrière-plan ci-dessus « my_button » via

android:background:@drawable/my_button 
+0

merci. pouvez-vous s'il vous plaît me fournir l'exemple de code (je n'utilise pas xml dans la création de mon gui) – moctavianro

+0

je ne t'ai pas eu. –

+0

@ user1021692: il voulait dire, vous devriez utiliser ce fichier xml dans votre tag button.please voir l'édition de cette réponse – Hiral

0

Le sélecteur sera comme ci-dessous

<?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/btn_pressed" /> <!-- pressed --> 
    <item android:state_focused="true" android:drawable="@drawable/btn_focused" /> <!-- focused --> 
    <item android:drawable="@drawable/btn_default" /> <!-- default --> 
</selector> 
+2

s'il vous plaît me donner un exemple de code pas un xml – moctavianro

Questions connexes