У меня есть индикатор выполнения, который показывает текущую и максимальную громкость. И мне нужно изменить цвет полоски, если заполненность меньше 90% (текущий / максимальный вес). Как лучше всего это сделать?
вы можете изменить цвет индикатора выполнения во время выполнения с помощью следующего кода:
final ProgressBar progressBar = findViewById(R.id.pb);
Drawable progressDrawable = progressBar.getIndeterminateDrawable();
if (progressDrawable != null && progressBar.getProgress() < 90) {
final Drawable mutateDrawable = progressDrawable.mutate();
DrawableCompat.setTint(mutateDrawable, Color.RED);
progressBar.setProgressDrawable(mutateDrawable);
} else {
final Drawable mutateDrawable = progressDrawable.mutate();
DrawableCompat.setTint(mutateDrawable, Color.GREEN);
progressBar.setProgressDrawable(mutateDrawable);
}