2013-09-26 6 views

Trả lời

53

Dưới đây là một cách để thay đổi nó về chủ đề của bạn:

Cập nhật chủ đề của bạn để áp dụng phong cách tùy chỉnh của bạn trên thuộc tính activatedBackgroundIndicator (ở đây chủ đề gốc là Holo Light nhưng tất nhiên bạn có thể thay đổi nó):

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

Trong tài nguyên "có thể kéo" của bạn cũ, tạo ra các tập tin XML list_activated_background và xác định chỉ số nền mới của bạn, ví dụ:

<?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> 

Sau đó, chỉ cần chắc chắn bạn đang gọi chủ đề tùy chỉnh của bạn trong file manifest với android:theme="@style/AppTheme" trong trường hợp này chẳng hạn.

+0

Cảm ơn sự giúp đỡ! –

+0

Cảm ơn nó đã giúp tôi. – Prashant

6

On Lollipop trở lên, bạn có tùy chọn thiết lập colorControlActivated trong chủ đề của bạn thay vì:

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

cách tiếp cận này hoạt động vì chọn activatedBackgroundIndicator Theme Chất liệu của sử dụng ?attr/colorControlActivated cho tình trạng activitate như đã thấy trong themes_material.xmlactivated_background_material.xml.

Lưu ý rằng câu trả lời của Yoann Hercouet là chính xác và vẫn hoạt động trong Lollipop.

Các vấn đề liên quan