Ich habe eine Schaltfläche erstellt, die den Hintergrund ändert, der in verschiedenen Zuständen gezeichnet werden kann:
<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 -->
Das Problem hier ist, dass ich auch versuche, die textColor zu ändern, wie ich es mit dem Drawable mache, aber ich kann es nicht. Ich habe bereits android: textColor und android: color ausprobiert, aber das erste funktioniert nicht, während das zweite meinen Hintergrund ändert.
Der nächste Code ist Teil meines Layouts. In Bezug auf die Textfarbe funktioniert dies nur für die normale Textfarbe, sodass sie beim Drücken nicht in die weiße geändert wird
<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"
/>
Hat jemand eine Ahnung?
quelle
res/color
Ordner befindet. Und wenn Sie anrufen, verwenden Sie:android:textColor="@color/button_text_color"
Ein anderer Weg, dies zu tun, ist in Ihrer Klasse:
quelle
ok sehr einfach gehe zuerst zu 1. res-valuse und öffne colours.xml 2.copy 1 des definierten textes ihr zum beispiel # FF4081 und ändere den namen zum beispiel ich habe mich in weiß geändert und seinen wert zum änderen ich zum ändere ich habe mich in #FFFFFF geändert für Weißwert wie dieser
Fügen Sie dann innerhalb Ihrer Schaltfläche diese Zeile hinzu
ok b3 ist der Name meiner Schaltfläche, also wird der Name Ihrer Schaltfläche geändert. Alle anderen sind gleich, wenn Sie die weiße Farbe verwenden, wenn Sie eine andere Farbe ändern, dann ändern Sie Weiß in den Namen Ihrer Farbe, aber zuerst müssen Sie diese Farbe in Farben definieren. xml wie ich in pont 2 erklärt habe
quelle
Ändern der Textfarbe der Schaltfläche
Weil diese Methode jetzt veraltet ist
Ich benutze folgendes:
quelle
Verwenden Sie
getColorStateList
soanstatt
getColor
quelle