Подтвердить что ты не робот

Изменить цвет андроида: activateBackgroundIndicator

Можно ли изменить цвет по умолчанию (синий) антроида attr: activateBackgroundIndicator?

Я разрабатываю приложение для цели 18 и для minimun 11.

Спасибо

4b9b3361

Ответ 1

Вот способ изменить его по теме:

Обновите свою тему, чтобы применить свой собственный стиль к атрибуту activatedBackgroundIndicator (здесь родительская тема - Holo Light, но вы можете, конечно, изменить ее):

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

В вашей папке с ресурсом "drawable" создайте файл XML list_activated_background и определите свой новый фоновый индикатор, например:

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

Тогда просто убедитесь, что вы вызываете свою собственную тему в файле манифеста с помощью android:theme="@style/AppTheme" в этом случае, например.

Ответ 2

В Lollipop и выше у вас есть возможность установить colorControlActivated в своей теме:

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

Этот подход работает, потому что селектор Material Theme activatedBackgroundIndicator использует ?attr/colorControlActivated для состояния активации, как показано в themes_material.xml и activated_background_material.xml.

Обратите внимание, что ответ Yoann Hercouet верен и все еще работает в Lollipop.