Изменение цвета ProgressBar не работает в API <21 - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь изменить цвет индикатора выполнения indeterminate с помощью styles. Добавлены следующие изменения

в значениях / styles-v21

<style name="CustomHorizontalProgress" >
        <item name="android:indeterminateTint">#FF00FF</item>
        <item name="android:indeterminateTintMode">src_in</item>
</style>

и в значениях / стилях

<style name="CustomHorizontalProgress" >
        <item name="colorAccent">#FF00FF</item>
</style>

и установите эти стили в прогрессбар как показано ниже

<ProgressBar
        android:id="@+id/progress"
        style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
        android:theme="@style/CustomHorizontalProgress"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:indeterminate="true"/>

Для api> = 21 все это работает нормально, но colorAccent не устанавливается в качестве цвета индикатора выполнения в устройствах до леденца.

Примечание: я хотел добиться этого только с помощью стиля.

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Проверьте это

<style name="CustomHorizontalProgress" parent="android:Widget.ProgressBar.Horizontal" >
    <item name="android:indeterminateTint">#FF00FF</item>
    <item name="android:indeterminateTintMode">src_in</item>

<style name="CustomHorizontalProgress" parent="android:Widget.ProgressBar.Horizontal">
    <item name="colorAccent">#FF00FF</item></style>

макет xml

   <ProgressBar
        android:id="@+id/progress"
        style="@style/CustomHorizontalProgress"
        android:theme="@style/CustomHorizontalProgress"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:indeterminate="true"/>

</style>
0 голосов
/ 11 марта 2019
progress.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...