Можно ли изменить цвет по умолчанию (синий) антроида attr: activateBackgroundIndicator?
Я разрабатываю приложение для цели 18 и для minimun 11.
Спасибо
Можно ли изменить цвет по умолчанию (синий) антроида attr: activateBackgroundIndicator?
Я разрабатываю приложение для цели 18 и для minimun 11.
Спасибо
Вот способ изменить его по теме:
Обновите свою тему, чтобы применить свой собственный стиль к атрибуту 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"
в этом случае, например.
В 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.