Chciałbym zrobić prostą rzecz: Definiowanie losowania, które ma dokładnie ten sam kolor tła, co kolor tła wciśnięty przez system. zrobić to jak to w res/kanału alfa/my_drawable.xml:Jak odwoływać się do atrybutu koloru w losowaniu?
<?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>
zawsze dotrzesz:
java.lang.UnsupportedOperationException: Cant convert to color: type=0x2
żadnych wskazówek?
Pozdrowienia
Z jakiegoś powodu otrzymuję komunikat o błędzie z tym podejściem:' android.view.InflateException: Binarna linia plików XML nr 2: Błąd pompowania klasy ' –
Muxa
Otrzymuję ten sam błąd, jeśli próbuję tego podejścia. Działa dla Androida: kolor w układzie xml, ale nie w formacie xml. Nużące obejście: final TypedValue typedValue = new TypedValue(); getTheme(). ResolveAttribute (R.attr.tx_frq, typedValue, true); COLOR = typedValue.data; Drawable d = getResources(). GetDrawable (R.drawable.mydrawable); d.setColorFilter (COLOR, PorterDuff.Mode.MULTIPLY); – Larphoid
To rozwiązanie działa tylko w interfejsie API 11+. W przypadku interfejsu API 10 i niższych nie można odwoływać się do atrybutu wewnątrz pliku szuflady xml. – BladeCoder