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

Тонировка индикатора хода Lollipop

Я нахожусь на устройстве Lollipop (MotoG 2014), я прочитал о том, что цвет индикатора выполнения, но это не работает... Я получаю цвет индикатора выполнения по умолчанию. Что мне здесь не хватает?

<ProgressBar
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:backgroundTintMode="src_in"
    android:indeterminate="true"
    android:indeterminateTint="#f00" />

Большое спасибо.

4b9b3361

Ответ 1

Попробуйте изменить ProgressBar на

<ProgressBar
android:id="@+id/view_progress"
style="?android:attr/progressBarStyleLarge"
android:layout_width="50dp"
android:layout_height="50dp"
android:indeterminate="true"
android:indeterminateTintMode="src_in"
android:indeterminateTint="@color/red"
/>

Также вы можете сделать это программно:

ProgressBar progressBar;
progressBar = (ProgressBar)findViewById(R.id.view_progress);
progressBar.getProgressDrawable().setColorFilter(Color.RED, Mode.SRC_IN);

Ссылки

Настройка цвета ProgressBar Tint

Ответ 2

Принятое решение не работало для меня на pre-Lollipop, но я нашел это решение подходящим для всех API, и, кроме того, он не использует устаревший код:

// fixes pre-Lollipop progressBar indeterminateDrawable tinting
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {

    Drawable wrapDrawable = DrawableCompat.wrap(mProgressBar.getIndeterminateDrawable());
    DrawableCompat.setTint(wrapDrawable, ContextCompat.getColor(getContext(), android.R.color.holo_green_light));
    mProgressBar.setIndeterminateDrawable(DrawableCompat.unwrap(wrapDrawable));
} else {
    mProgressBar.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(getContext(), android.R.color.holo_green_light), PorterDuff.Mode.SRC_IN);
}

Счастливое кодирование!

Ответ 3

/**change your progress drawable asrequired****/

   Drawable wrapDrawable = DrawableCompat.wrap(_progress.getIndeterminateDrawable());
   DrawableCompat.setTint(wrapDrawable, ContextCompat.getColor(this, R.color.colorOrange));
  _progress.setIndeterminateDrawable(DrawableCompat.unwrap(wrapDrawable));