Android LinearLayout mit Farbressource: Was mache ich falsch?
Folgte ich dieses tutorial um eine Farbe zu erstellen Status-Liste für eine bestimmte Android-Ansicht. Ich will einfach nur, um ihn zu markieren, wenn Sie geklickt werden, damit der Benutzer weiß, warum der Bildschirm sich gerade geändert.
Wenn die Ansicht gerendert wird, bekomme ich die folgende Fehlermeldung:
org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: tag erfordert ein "drawable" - Attribut oder ein untergeordnetes tag definieren ein drawable
Meine Farbe XML (in res/color/viewcolor.xml):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#ff33ffff"/> <!-- pressed -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
Mein layout XML (in res/layout/myview.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myview"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:background="@color/viewcolor">
<!--crap in the layout-->
</LinearLayout>
Hab ich was verpasst?
Kommentar zu dem Problem
wenn jemand will, um die vollständige Lösung ist, überprüfen Sie diese repository: github.com/shamanland/AndroidLayoutSelector es ist Brauch anklickbare/aktivierbar
LinearLayout
wie ein ToggleButton-Element
InformationsquelleAutor der Frage iandisme | 2010-08-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich erinnere mich, dass ich gearbeitet habe, um diesen Fehler durch die Verwendung von state drawable statt Staat Farbe. Für einige Grund-layout-hintergrund funktioniert einfach nicht mit stateful Farben. So versuchen Sie, erstellen einer stateful drawable (zum Beispiel Liste der Form drawables mit verschiedenen Farben) und verwenden Sie es als hintergrund.
res/drawable/pressed.xml:
res/drawable/normal.xml:
res/drawable/background.xml:
Dann verwenden background.xml drawable als hintergrund 🙂
InformationsquelleAutor der Antwort Konstantin Burov
Anstelle der Verwendung von Formen, die in Ihrer drawable, können Sie die
android:drawable
Attribut akzeptiert eine Farbe Ressource (z.B. @color/schwarz).layout.xml
my_drawable.xml
In
my_drawable.xml
Sie müssen sicherstellen, dass die Farben, die Sie angeben, sind definiert inres/values/colors.xml
oder so nicht funktionieren.Wenn Sie möchten, um ein Bild zu verwenden, anstatt ein Farbwechsel von einer Farbe Ressource zu einem drawable Ressource.
Beispiel:
InformationsquelleAutor der Antwort Austyn Mahoney