J'ai fait un bouton qui change l'arrière-plan dessinable sur 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 j'essaie également de changer le textColor comme je le fais avec le dessinable, mais je ne suis pas en mesure de le faire. J'ai déjà essayé android: textColor et android: color mais le premier ne fonctionne pas tandis que les secondes changent mon arrière-plan.
Le code suivant fait partie de ma mise en page. En ce qui concerne la couleur du texte, cela ne fonctionne que pour la couleur du texte à l'état normal, donc ne pas la changer en blanc tout en appuyant
<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"
/>
Quelqu'un a-t-il une idée?
res/color
dossier. Et lorsque vous appelez, utilisez:android:textColor="@color/button_text_color"
Une autre façon de le faire est dans votre classe:
la source
ok très simple, allez d'abord à 1. res-valuse et ouvrez colours.xml 2. copiez 1 du texte défini par exemple # FF4081 et changez le nom par exemple j'ai changé en blanc et changez sa valeur par exemple j'ai changé en #FFFFFF pour valeur blanche comme celle-ci
puis à l'intérieur de votre bouton ajoutez cette ligne
ok b3 est le nom de mon bouton, donc le nom de votre bouton a changé, tous les autres seront les mêmes si vous utilisez la couleur blanche si vous changez de couleur différente, puis changez le blanc en nom de votre couleur mais d'abord vous avez défini cette couleur en couleurs. xml comme je l'ai expliqué dans le pont 2
la source
Modification de la couleur du texte du bouton
Parce que cette méthode est désormais obsolète
J'utilise ce qui suit:
la source
Utilisez
getColorStateList
comme çaau lieu de
getColor
la source