Ich möchte die Hintergrundfarbe einer Schaltfläche mit einer Selektor-XML-Datei ändern. Mein Ansatz ist im Grunde die man aus dem Beispiel am unteren Rand dieser Seite: http://developer.android.com/guide/topics/resources/color-list-resource.htmlAndroid-Taste mit verschiedenen Hintergrundfarben
ich habe eine res/Farbe/button_text.xml, die wie folgt aussieht:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
und mein Layout enthält den folgenden Code:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button_text"
**android:background="@color/button_text"** />
(** gibt es nur um Ihnen zu zeigen, dass ich android verwenden: Hintergrund statt android: Textfarbe)
diesen Code stürzt ab. "Binary XML datei line # 4 tag benötigt 'drawable' attribute oder child tag um drawable zu definieren. Aber wenn ich es mit android: textColor wie im obigen Link beschrieben versuche, funktioniert es gut. Also muss es das Hintergrundproblem sein. I will keine 9patch-png erstellen, wenn es nicht notwendig ist (im Grunde ich nur ein „klickbaren“ Rechteck muß so verwende ich eine Taste mit einem farbigen Hintergrund)
Konstantin Antwort hat einen Tippfehler - die Linie 'Artikel android: color =“ @ color/black "' .......... Ich schlage vor, es sollte Artikel lesen Android: Drawable = "@ Farbe/schwarz" ........... –
http: // stackoverflow. com/a/15880688/1352919 – Faakhir