Ich versuche, eine Schaltfläche mit einem Selektor zu erstellen. Meine Schaltfläche kann die folgenden Zustände haben:
- Aktiviert deaktiviert
- Gedrückt / nicht gedrückt
Nach den oben genannten Staaten. Ich muss die Tasten manipulieren:
- Textfarbe
- Hintergrundbild
Die Schaltfläche beginnt mit meiner Deaktivierung, daher sollte sie die deaktivierte Textfarbe und den Hintergrund der deaktivierten Schaltfläche enthalten. Aber ich kann die Standard-Textfarbe (im Stil angegeben) und KEIN Hintergrundbild sehen!
Hier ist mein Selektor 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>
Und hier ist meine Button-Deklaration in meiner 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" />
Und schließlich ist dies mein Stil (wo meine Standard-Textfarbe festgelegt ist)
<?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>
Bitte helfen Sie!
@color
in buttyStyle zu aktualisieren . Jetzt ist es aktualisiert.text_color.xml
kompiliert nicht (zumindest für mich), es sei denn, ichdrawable
@drawable/text_color
color
richtige Ordner für die Color State List Resource. Ihre Bearbeitung ist willkommen.1.Erstellen Sie einen Farbordner in / res / und einen Farbordner in XML:
text_color_selector.xml
2.Jetzt ein XML-Layout erstellen: -
quelle
Die einfachste Lösung besteht darin, den Farbfilter auf das Hintergrundbild und die Schaltfläche einzustellen, wie ich hier gesehen habe
Sie können wie folgt vorgehen:
Hoffe ich habe jemandem geholfen ...
quelle
Ich kann die Deaktivierung Ihrer Schaltfläche in Ihrer Layout-XML nicht sehen. Fügen Sie dies Ihrem Schaltflächenlayout hinzu.
So wird Ihr Button-Layout sein,
quelle
Sie können eine Farbliste erstellen
Speicherort:
Der Dateiname wird als Ressourcen-ID verwendet.
Ressourcenreferenz:
In Java:
R.color.filename
In XML:
@[package:]color/filename
Syntax:
Beispiel:
XML-Datei gespeichert unter
res/color/button_text.xml
:Dieses Layout-XML wendet die Farbliste auf eine Ansicht an:
Siehe: Farblistenreferenz
quelle