Pourquoi le comportement par défaut de Button est-il state_activated = "false"?Android État par défaut du bouton
L'utilisation de ce sélecteur, il n'a jamais atteint la dernière ligne, il reste sur la deuxième ligne:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" android:state_enabled="false"/>
<item android:drawable="@color/colorPrimaryDark" android:state_activated="false"/>
<item android:drawable="@color/colorAccent"/>
Disons que ce sélecteur est partagée entre boutons et des dispositions qui posent comme un bouton, mais dans le cas de la mise en page, setActivated(false)
est nécessaire pour changer l'arrière-plan.
Je ne peux pas penser à un cas où un bouton serait «activé». Peut-être pourriez-vous lister les différents cas dont le bouton a besoin pour avoir une apparence visuelle différente, et nous pourrions partir de là. – ataulm
J'ai une mise en page qui se présente comme un bouton, et à un certain point, il devient "inactif" mais toujours cliquable et activé afin d'apparaître désactivé et d'afficher un message d'avertissement lorsqu'on clique dessus. L'action de clic ne sera pas enregistrée lorsque l'option de clic de la disposition est désactivée, donc j'ai dû utiliser setActivated(). Sur certains autres modèles, certains boutons utilisent également le même sélecteur, mais ils n'ont qu'à répondre à state_pressed, comme le ferait un bouton normal, mais ils réagissent sur state_activated. Merci à vous, maintenant je sais pourquoi, mais je ne sais toujours pas comment réparer/contourner sans utiliser un autre sélecteur. – rexxar
Je ne comprends pas ce que vous voulez dire par "inactif" mais toujours cliquable ". Vous pouvez utiliser 'setEnabled (false)' car il s'agit d'une méthode sur la vue, pas sur le bouton. Le comportement par défaut d'un bouton désactivé est de désactiver le clic (c'est-à-dire aucun état enfoncé). – ataulm