Mi piacerebbe fare una cosa semplice: Definire un drawable che abbia esattamente lo stesso colore di sfondo del colore di sfondo premuto dallo stato del sistema. lo faccio come questo in res/drawable/my_drawable.xml:Come fare riferimento all'attributo colore in drawable?
<?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>
ho sempre ottenere:
java.lang.UnsupportedOperationException: Cant convert to color: type=0x2
Degli indizi?
saluti
Per qualche motivo ottengo un errore con questo approccio:' android.view.InflateException: File XML di file binario n. 2: Errore durante la classe di gonfiaggio ' –
Muxa
Sto ottenendo lo stesso errore se provo questo approccio. Funziona per Android: colore in xml di layout ma non xml disegnabili. Una soluzione noiosa: finale TypedValue typedValue = new TypedValue(); getTheme(). ResolveAttribute (R.attr.tx_frq, typedValue, true); COLORE = typedValue.data; Disegnabile d = getResources(). GetDrawable (R.drawable.mydrawable); d.setColorFilter (COLOR, PorterDuff.Mode.MULTIPLY); – Larphoid
Questa soluzione funziona solo su API 11+. Per API 10 e versioni precedenti, non è possibile fare riferimento a un attributo all'interno di un file xml Drawable. – BladeCoder