2010-06-25 7 views
23

voulait laisser un ImageButton est désactivé (non cliquable), mais ont utilisé android: activé = « false », mais ne fonctionne pasdésactiver un ImageButton?

Est-ce que quelqu'un sait comment désactiver un ImageButton?

Répondre

13

Vous pouvez utiliser l'attribut android:clickable sur le XML ou la méthode setClickable(boolean) à partir de votre code.

+1

Si vous voulez le faire paraître grisés, voir ceci: http://stackoverflow.com/a/14128907/832776 –

24

Si vous souhaitez afficher le bouton comme désactivé (si vous avez configuré celui-ci dans un fichier XML dessinable), faire les deux setClickable(false) et setEnabled(false) fera l'affaire.

+0

Notez que la définition de ces attributs ne empêche le clic sur l'image, mais ne bloque pas le bouton comme sur un bouton normal – Cody

2

Lors de la définition d'un clicklistener pour l'ImageButton, sous le capot android réinitialise l'attribut clickable à true. C'est pourquoi la configuration d'android: clickable = "false" dans xml n'est pas utile. En outre, la définition de l'attribut android: enabled = "false" dans le fichier xml ne fonctionnait pas pour moi aussi. Qu'est-ce que le travail est mise uniquement via le code:

ImageButton mBtnDelayCall = (ImageButton)v.findViewById(R.id.btnCallDelay); 
     mBtnDelayCall.setEnabled(false);