2012-04-27 16 views
5

ho una forma ( rect_shape.xml), che disegna un contorno ictus in ogni elemento di una listview ( listview_style.xml). Questo schema dovrebbe avere lo stesso colore del colore del testo predefinito del tema corrente.Come arrivare (di riferimento) l'attuale colore del testo tema di default in XML

C'è un modo, in XML, per impostare l'androide: valore del colore del tratto per il colore del testo corrente?

Ho visto alcune domande simili (come How to get my own defined attribute value in my style) da queste parti che tentano di impostare un proprio attributo, ma non penso che questo sia ciò che voglio. In ogni caso l'ho provato, ma non ho potuto impostare l'androide: valore di colore per il mio attributo definito (android:color="?custom_stroke_color" lancia InflateException).

Poiché l'utente è in grado di commutare tra i Soggetti dinamicamente, un unico colore predefinito (o riferimento ad una risorsa colore esempio @color/white) in rect_shape.xml non è un'opzione.

Apprezzare tutto l'aiuto ...

rect_shape.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<stroke android:width="3dp" 
<!-- should be the current default text color --> 
    android:color="#FFF" /> 

<solid/> 
... 
</shape> 

listview_style.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/rect_shape" > 
... 
</LinearLayout> 

themes.xml

<resources> 
<style name="DarkTheme" parent="@style/Theme.Sherlock"> 
<!-- default text color is white --> 
... 
</style> 
<style name="LightTheme" parent="@style/Theme.Sherlock.Light"> 
<!-- default text color is black--> 
... 
</style> 
</resources> 

risposta

0

L'accesso agli attributi tematici in file XML estraibili è disponibile solo in Android 5.0 e versioni successive.

Vedi This issue

Problemi correlati