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!