2011-10-13 6 views
0

J'ai 4 boutons, ils sont tous des boutons d'image avec "@null" comme arrière-plan.Android ImageButton ne change pas au focus

Dans le fichier xml je:

<ImageButton android:src="@drawable/buttonimgplay" android:id="@+id/imageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="startGame" android:background="@null"></ImageButton> 

buttonimgplay est un autre fichier xml contenant ceci:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" 
     android:drawable="@drawable/playpressed" /> <!-- pressed --> 
<item android:state_focused="true" 
     android:drawable="@drawable/playabitpressed" /> <!-- focused --> 
<item android:drawable="@drawable/playnotpressed" /> <!-- default --> 

Cependant, lorsque l'utilisateur appuie sur le bouton sur l'écran, il ne marche pas changer, car il bascule vue à autre chose. sur les boutons je n'ai pas été initialisé (c.-à-d. attaché une méthode) pourtant cette commutation d'image fonctionne bien.

Des idées comment je peux changer l'image sur le bouton avant que la vue soit changée?

Merci,

Ben

Répondre

0

Avez-vous essayé d'ajouter à votre state_selected statelist ainsi? Je ne me souviens pas si j'avais exactement le même scénario, mais je sais que j'ai dû commencer à l'ajouter à certains de mes listes d'états pour les faire fonctionner, et je crois que c'était exactement ce que vous expérimentiez.

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" 
     android:drawable="@drawable/playpressed" /> <!-- pressed --> 
<item android:state_focused="true" 
     android:drawable="@drawable/playabitpressed" /> <!-- focused --> 
<item android:state_selected="true" 
     android:drawable="@drawable/playabitpressed" /> <!-- selected --> 
<item android:drawable="@drawable/playnotpressed" /> <!-- default --> 
+0

Je l'ai essayé et cela n'a pas fonctionné, merci cependant. Dès que j'appuie sur le bouton, il ne fait que basculer la vue, aucun commutateur d'image du tout: s –

+0

Si je maintiens le bouton enfoncé, il change d'image, mais pas si je l'appuie normalement. –

+0

peut-être que cela prend trop de temps à charger? qu'entendez-vous par "switch vue"? – Rich

Questions connexes