2013-09-26 18 views

Odpowiedz

53

Oto sposób, aby zmienić go na swojej tematu:

zaktualizować swój motyw, aby zastosować styl niestandardowy na atrybucie activatedBackgroundIndicator (tutaj tematem dominującym jest Holo światła, ale można oczywiście zmienić):

<style name="AppTheme" parent="@android:style/Theme.Holo.Light"> 
     <item name="android:activatedBackgroundIndicator">@drawable/list_activated_background</item> 
    </style> 

w twojej „rozciągliwej” zasobów f starszych, stworzyć list_activated_background pliku XML i zdefiniować swój nowy wskaźnik w tle, na przykład:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_activated="true" android:drawable="@color/OrangeLight" /> 
    <item android:state_checked="true" android:drawable="@color/OrangeDark" /> 
    <item android:state_pressed="true" android:drawable="@color/OrangeDark" /> 
    <item android:drawable="@android:color/transparent" /> 
</selector> 

Wtedy po prostu mieć pewność, że dzwoniąc do motywu niestandardowego w pliku manifestu z android:theme="@style/AppTheme" w tym przypadku na przykład.

+0

Dzięki za pomoc! –

+0

Dzięki to mi pomogło. – Prashant

6

Na lizak i powyżej, masz możliwość ustawienia colorControlActivated w temacie zamiast:

<style name="AppTheme" parent="@android:style/Theme.Material"> 
    <item name="colorControlActivated">@color/your_color</item> 
</style> 

To podejście działa, ponieważ materiał motywu activatedBackgroundIndicator selektor wykorzystuje ?attr/colorControlActivated dla państwa activitate widzianych w themes_material.xml i activated_background_material.xml.

Pamiętaj, że odpowiedź Yoanna Hercoueta jest poprawna i nadal działa w Lollipop.