Ya no necesitas buscar más por todo internet ya que llegaste al espacio indicado, tenemos la solución que quieres encontrar y sin problemas.
Solución:
Para una barra de progreso horizontal, puede usar un ColorFilter
también, así:
progressBar.getProgressDrawable().setColorFilter(
Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);
Nota: Esto modifica la apariencia de todas las barras de progreso en su aplicación. Para modificar solo una barra de progreso específica, haga lo siguiente:
Drawable progressDrawable = progressBar.getProgressDrawable().mutate();
progressDrawable.setColorFilter(Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);
progressBar.setProgressDrawable(progressDrawable);
Si la barra de progreso es indeterminada, use getIndeterminateDrawable()
en vez de getProgressDrawable()
.
Desde Lollipop (API 21) puede establecer un tinte de progreso:
progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
Esto no es programático, pero creo que podría ayudar a mucha gente de todos modos.
Probé mucho y la forma más eficiente fue agregar estas líneas a mi ProgressBar en el archivo .xml:
android:indeterminate="true"
android:indeterminateTintMode="src_atop"
android:indeterminateTint="@color/secondary"
Entonces, al final, este código lo hizo por mí:
Esta solución funciona para API 21+
Lamento que no sea la respuesta, pero ¿qué impulsa el requisito de establecerlo desde el código? Y .setProgressDrawable
debería funcionar si está definido correctamente
-
-
-
Finalizando este artículo puedes encontrar los comentarios de otros administradores, tú aún eres capaz insertar el tuyo si te apetece.