2016-02-06 14 views
8

Farklı birincil, birincil koyu, birincil ışık ve vurgu renkleri olan iki tema tanımladım.Android: Geçerli temaların renklerini çizilebilir bir xml'de nasıl kullanabilirsiniz?

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <item name="colorAccent">@color/accent</item> 
</style> 

<style name="AppTheme2" parent="AppTheme"> 
    <item name="colorPrimary">@color/primary_2</item> 
    <item name="colorPrimaryDark">@color/primary_dark_2</item> 
    <item name="colorAccent">@color/accent_2</item> 
</style> 

AppTheme <application/> için varsayılan Sonra belirli faaliyetlerde AppTheme2 kümesidir. Bir çekilebilir dosya xml olarak

Ben AppTheme2 Farklı renkler bakın orada bu nedenle zaman colors.xml

çekilebilir hem temalardan birçok faaliyetlerde kullanıldığı tanımlanan AppTheme aynı ana renkleri kullanıyorum. Geçerli aktivitenin mevcut temasının renklerini kullanabilmesinin bir yolu var mı?

cevap

16

Şu anda kullanılan tema gelen renk elde etmek için bu özelliği kullanabilirsiniz:

android:color="?colorPrimary" 

Bu yalnızca android 5.0 veya daha yüksek mümkündür. Yine de Android 4'te bunu yapmak için

+1

var mı? ya da bunu progromatik olarak yapmak zorunda mıyım? –

+0

buna ... https://developer.android.com/training/material/compatibility.html benziyor –

+1

i programlı Bunun nasıl garip istisnalar –

İlgili konular