Ich möchte eine einfache Sache tun: Definieren Sie eine Zeichnungsdatei, die genau die gleiche Hintergrundfarbe wie Systemstatus-gepresste Hintergrundfarbe hat. Ich mache es wie dies in res/Drawables/my_drawable.xml:Wie referenziere ich das Farbattribut?
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_selected="true">
<color android:color="?android:attr/colorPressedHighlight"/>
</item>
<item android:state_selected="false">
<color android:color="@color/section_list_background"/>
</item>
</selector>
ich immer bekommen:
java.lang.UnsupportedOperationException: Cant convert to color: type=0x2
Irgendwelche Hinweise?
Grüße
Aus irgendeinem Grund bekomme ich einen Fehler mit diesem Ansatz:' android.view.InflateException: Binär XML Datei Zeile # 2: Fehler beim Aufblasen der Klasse ' –
Muxa
Ich bekomme den gleichen Fehler, wenn ich diesen Ansatz versuche. Es funktioniert für Android: Farbe in Layout-XMLs, aber nicht in Zeichen-XMLs. Eine langwierige Problemumgehung: final TypedValue typedValue = new TypedValue(); getTheme(). ResolveAttribute (R.attr.tx_frq, typedValue, true); FARBE = typedValue.data; Drawable d = getResources(). GetDrawable (R.drawable.mydrawable); d.setColorFilter (FARBE, PorterDuff.Mode.MULTIPLY); – Larphoid
Diese Lösung funktioniert nur mit API 11+. Für API 10 und niedriger können Sie nicht auf ein Attribut in einer Drawable XML-Datei verweisen. – BladeCoder