263 votes

Android bouton personnalisé ; changer la couleur du texte

J'ai fait un bouton qui change l'arrière-plan dessiné sur les différents états, de cette façon:

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true" android:drawable="@drawable/btn_location_pressed" /> <!-- pressed -->
 <item android:state_focused="true" android:drawable="@drawable/btn_location_pressed"/> <!-- focused -->
 <item android:drawable="@drawable/btn_location"/> <!-- default -->

Le problème ici est que je suis aussi en train d'essayer de changer le textColor comme je le fais avec le drawable mais je ne suis pas de pouvoir. J'ai déjà essayé android:textColor et android:la couleur, mais la première ne fonctionne pas alors que les secondes changements de mon arrière-plan.

Le code suivant est une partie de ma mise en page. Quant à la couleur du texte, il ne fonctionne qu'à l'état normal la couleur du texte, donc pas de le changer pour le blanc, tout pressé

<Button android:id="@+id/location_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dp"
        android:background="@drawable/location"          
        android:textSize="15sp"
        android:textColor="@color/location_color"
        android:textColorHighlight="#FFFFFF"
   />

Personne n'a eu la moindre idée?

ty! :)

594voto

Konstantin Burov Points 34011

Créer une couleur dynamique pour votre bouton, juste comme vous l’avez fait pour le fond, par exemple :

Placez le code xml dans un fichier au dossier res/drawable soit res/drawable/button_text_color.xml. Puis placez juste le drawable comme couleur du texte :

18voto

mike yaworski Points 5144

Une autre façon de le faire est dans votre classe :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X