Я пытаюсь применить тему ко всем индикаторам выполнения в моем приложении.В манифесте я применяю собственную тему под названием AppTheme
.В этом стиле я добавляю дополнительный элемент progressBarStyle
, например, так:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:progressBarStyle">@style/my_progress_bar</item>
</style>
И определяю стиль выполнения пользовательской панели следующим образом:
<style name="my_progress_bar" parent="Base.Widget.AppCompat.ProgressBar">
<item name="android:indeterminateTint">@color/app_black</item>
<item name="android:indeterminateTintMode">src_in</item>
</style>
Если применить этот стиль кдля отдельных представлений ProgressBar это работает, но я хочу применить его в своем манифесте через AppTheme, чтобы мне не приходилось указывать один и тот же tint и tintMode для каждого индикатора выполнения в приложении.Я использую устройство под управлением API 25.
Что я делаю не так?Спасибо за понимание.
Редактировать: после дальнейшего изучения, по какой-то причине добавление стиля в AppTheme не распространяется на манифест.Если я полностью заменю AppTheme своим стилем индикатора выполнения, это сработает.Но мне все еще нужны стили, определенные в AppTheme
.это работает: <application ...
android:theme="@style/my_progress_bar">
, но это не так: <application ...
android:theme="@style/AppTheme">
Интересно то, что, если я удаляю все в AppTheme, кроме определяемого мной стиля индикатора выполнения, он не работает,Есть ли ошибка с вложенными стилями в Android?Мой манифест не видит progressBarStyle, определенный, когда я просто передаю его этому AppTheme:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:progressBarStyle">@style/my_progress_bar</item>
</style>