J'essaye de faire un bouton avec un sélecteur mon bouton peut avoir les états suivants:
- Activé Désactivé
- Pressé / Non Pressé
Selon les états mentionnés ci-dessus. J'ai besoin de manipuler les boutons:
- Couleur du texte
- image de fond
Le bouton commence par être désactivé, il devrait donc avoir le textColor désactivé et l'arrière-plan du bouton désactivé. Mais je peux voir le textColor par défaut (spécifié dans le style) et AUCUNE image d'arrière-plan!
Voici mon sélecteur button_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button" />
<item android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/button_pressed"/>
<item android:state_pressed="true"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button"/>
<item android:state_pressed="false"
android:state_enabled="true"
android:drawable="@drawable/button"/>
</selector>
Et voici ma déclaration de bouton dans le my layout.xml
<Button android:id="@+id/reserve_button"
android:text="@string/reserve_button"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"
android:paddingRight="15dp"
android:layout_gravity="left"
style="@style/buttonStyle"
android:background="@drawable/button_selector" />
Et enfin c'est mon style (où mon textColor par défaut est défini)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="buttonStyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">#282780</item>
<item name="android:textSize">18sp</item>
</style>
</resources>
Veuillez aider!
@color
dans buttyStyle. Maintenant c'est mis à jour.text_color.xml
ne compile pas (pour moi, du moins) sauf si je le place dans ledrawable
dossier, ce qui nécessite de s'y référer comme@drawable/text_color
color
est le dossier correct pour la ressource de liste d'état de couleur Votre modification est la bienvenue.1.Créez un dossier de couleur dans le dossier / res / et dans le dossier de couleur créer sur xml:
text_color_selector.xml
2.Maintenant, créez une mise en page XML: -
la source
La solution la plus simple consiste à définir le filtre de couleur sur l'image d'arrière-plan et le bouton comme je l'ai vu ici
Vous pouvez faire comme suit:
J'espère que j'ai aidé quelqu'un ...
la source
Je ne vois pas le diabling de votre bouton dans votre mise en page xml. ajoutez ceci à votre disposition de bouton.
ainsi votre disposition de bouton sera,
la source
Vous pouvez créer une liste de couleurs
emplacement du fichier:
Le nom de fichier sera utilisé comme ID de ressource.
référence de ressource:
En Java:
R.color.filename
En XML:
@[package:]color/filename
syntaxe:
Exemple:
Fichier XML enregistré à
res/color/button_text.xml
:Ce format XML appliquera la liste de couleurs à une vue:
Référez-vous: Référence de la liste de couleurs
la source