¿Cómo cambiar el color de ProgressBar indeterminado de android?

Estoy buscando una cosa muy obvia (en otros idiomas!) Y me vuelve loco!

Me gustaría saber cómo puedo cambiar el color ProgressBar indeterminado desde el color base blanco / gris a negro? Cuando cambio el indeterminateDrawable, consigo una imagen estática en vez de un moving progressBar animado. ¿Hay alguna manera de hacerlo simplemente en xml?

Gracias !

Para obtener una ProgressBar en el tema predeterminado que se va a utilizar en blanco / luz de fondo, utilice uno de los estilos inverso:

<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/> <ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/> <ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/> 

Esto normalmente le dará un negro en ProgressBar transparente, pero algunas instalaciones del sistema operativo utilizan recursos personalizados. Si estás buscando un color específico, tendrás que rodar tus propios dibujos siguiendo las instrucciones proporcionadas por CommonsWare.

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

Y reemplace Your_Color con el color deseado como: R.color.your_color_code

Veo que otras respuestas son bastante viejas, para cambiar el color de ProgressBar indeterminado que tienes para establecer android:indeterminateTint y android:indeterminateTintMode atributos en tu elemento de ProgressBar directamente en XML:

 <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminateTint="@color/colorPrimary" android:indeterminateTintMode="src_in" android:indeterminate="true" /> 

android:indeterminateTint – Matiz para aplicar al indicador de progreso indeterminado.

Debe ser un valor de color, en forma de "#rgb" , "#argb" , "#rrggbb" , "#aarrggbb" o una referencia a un recurso @color/colorPrimary .

android:indeterminateTintMode – Modo de fusión utilizado para aplicar el tinte del indicador de progreso.

Debe ser uno de los siguientes valores constantes:
add , multiply , screen , src_atop , src_in o src_over

Los métodos Getter y Setter para estos atributos son:

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

Todos ellos se agregaron en el nivel 21 del API

 <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background" android:drawable="@drawable/bg" /> <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/secondary" /> <item android:id="@android:id/progress" android:drawable="@drawable/progress" /> </layer-list> 

En realidad todo lo que tienes que hacer (para ambos cirle y barra) es crear un archivo xml en drawable como se muestra a continuación …… progress_spinner_001 puntos a cualquier imagen que desea animar y la duración … cuánto tiempo u desea mostrar cada uno Marco para ……. y establecer ur android: indeterminateDrawable = filename_in_drawable ….

 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/progress_spinner_001" android:duration="300" /> <item android:drawable="@drawable/progress_spinner_002" android:duration="300" /> <item android:drawable="@drawable/progress_spinner_003" android:duration="300" /> <item android:drawable="@drawable/progress_spinner_004" android:duration="300" /> <item android:drawable="@drawable/progress_spinner_005" android:duration="300" /> <item android:drawable="@drawable/progress_spinner_006" android:duration="300" /> <item android:drawable="@drawable/progress_spinner_007" android:duration="300" /> <item android:drawable="@drawable/progress_spinner_008" android:duration="300" /> </animation-list> 

Ps u puede necesitar cambiar el tamaño de la barra de progreso para mostrar como se desee

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.