J'ai des boutons que j'ai définis la couleur de fond comme rouge, vert et bleu séparément. Lorsque j'appuie sur le bouton, cliquez sur l'événement généré, mais il n'y a pas de changement d'interface graphique pour que l'utilisateur connaisse le bouton est enfoncé. Bouton Android Changement de couleur grisâtre de l'arrière-plan en orange et revenez à la couleur grisâtre après avoir relâché l'état pressé. Comment implémenter cela sur le bouton coloré? P>
3 Réponses :
qui est implémenté via un Voici un exemple de A EM> Diable em> qui sera blanc par défaut em>, noir quand pressé em>: p> statelistDrawable code>, représenté par sélecteur code> dans xml em>. Référence: http://developer.android.com/Guide/topics /resources/drawable-resource.html#statelist
Essayez de cette façon:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" >
<shape>
<solid
android:color="#1E669B" />
<stroke
android:width="2dp"
android:color="#1B5E91" />
<corners
android:radius="6dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#1E669B"
android:endColor="#1E669B"
android:angle="270" />
<stroke
android:width="4dp"
android:color="#1B5E91" />
<corners
android:radius="7dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
Comme mentionné par K-Ballo, vous pouvez utiliser STATelistDrawable pour implémenter une vue avec divers graphismes différents en fonction de l'état. Dans votre case de cas, vous trouverez la vue où deux états sont enfoncés et appuyez sur la touche non enfoncée.
Nous devons créer un fichier BOutSelector.xml dans le dossier digue P>
Button customButton = (Button) findViewById(R.id.customButton); customButton.setBackground(getResources().getDrawable(R.drawable.buttonselector));
Réponse beaucoup plus complète!