Как изменить андроид неопределенный цвет ProgressBar?

Я ищу очень очевидную вещь (на других языках!), И это сводит меня с ума!

Я хотел бы знать, как я могу изменить неопределенный цвет ProgressBar от базового белого / серого цвета до черного? Когда я изменяю indeterminateDrawable, я получаю статическое изображение вместо движущегося анимированного progressBar. Есть ли способ сделать это просто в xml?

Спасибо !

progressBar.getIndeterminateDrawable().setColorFilter( getResources().getColor(Your_Color), android.graphics.PorterDuff.Mode.SRC_IN); 

и замените Your_Color на нужный цвет, например: R.color.your_color_code

Чтобы получить ProgressBar в теме по умолчанию, которая будет использоваться на белом фоне, используйте один из обратных стилей:

    

Обычно это дает вам черный цвет на прозрачном ProgressBar, но некоторые ОС устанавливают использование настраиваемых активов. Если вы ищете определенный цвет, вам придется сворачивать свои собственные чертежи, следуя инструкциям CommonsWare.

Я вижу, что другие ответы довольно старые, чтобы изменить неопределенный цвет ProgressBar, вы должны установить атрибуты android:indeterminateTint и android:indeterminateTintMode в свой элемент ProgressBar непосредственно в XML:

  

android:indeterminateTint – Оттенок для применения к неопределенному индикатору хода.

Должно быть значение цвета в виде "#rgb" , "#argb" , "#rrggbb" , "#aarrggbb" или ссылка на ресурс @color/colorPrimary .

android:indeterminateTintMode – Режим наложения, используемый для применения оттенка индикатора хода.

Должно быть одно из следующих значений:
add , multiply , screen , src_atop , src_in или src_over

Методы Getter и Setter для этих атрибутов:

  • getIndeterminateTintList()
  • getIndeterminateTintMode()
  • setIndeterminateTintList(ColorStateList tint)
  • setIndeterminateTintMode(PorterDuff.Mode tintMode)

Все они были добавлены в API уровня 21

Я делаю образец проекта и публикую его в своем блоге. Пожалуйста, посмотрите. http://www.hrupin.com/2011/09/21/how-to-make-custom-indeterminate-progressbar-in-android-or-how-to-change-progressbar-style-or-color

Надеюсь, это поможет вам

       

Для API менее 23 использовать

 progressBar.getIndeterminateDrawable().setColorFilter( getResources().getColor(Your_Color), android.graphics.PorterDuff.Mode.SRC_IN); 

иначе использовать

 progressBar.getIndeterminateDrawable().setColorFilter( ContextCompat.getColor(context, Your_Color), android.graphics.PorterDuff.Mode.SRC_IN); 

на самом деле все, что вам нужно сделать (как для cirle, так и для bar), – создать xml-файл в drawable, как показано ниже …… progress_spinner_001 указывает на любое изображение u, которое хочет оживить и длительность … как долго вы хотите отображать каждый frame for ……. и set ur android: indeterminateDrawable = filename_in_drawable ….

            

ps u может потребоваться resize индикатора прогресса, чтобы показать по желанию

  • как получить путь к файлу с SD-карты в android
  • R не может быть разрешен - ошибка Android
  • Добавление кнопки OnClick в сообщение в уведомлении
  • Как изменить fontFamily TextView в Android
  • Вызов API REST из приложения Android
  • Google firebase проверяет, существует ли ребенок
  • Как получить список запущенных приложений?
  • Программно заданный фон телефона Android
  • Как включить отладку USB в Android?
  • Я пытаюсь найти поблизости такие места, как банки, рестораны, банкоматы внутри рисованной области на картах Google в андроиде
  • Добавление версии сервисов Google Play в манифест вашего приложения?
  • Давайте будем гением компьютера.