Für eine horizontale ProgressBar können Sie eine ColorFilter
auch, wie hier:
progressBar.getProgressDrawable().setColorFilter(
Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);
注 Dadurch wird das Aussehen aller Fortschrittsbalken in Ihrer Anwendung geändert. Um nur einen bestimmten Fortschrittsbalken zu ändern, gehen Sie folgendermaßen vor:
Drawable progressDrawable = progressBar.getProgressDrawable().mutate();
progressDrawable.setColorFilter(Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);
progressBar.setProgressDrawable(progressDrawable);
Wenn progressBar unbestimmt ist, verwenden Sie getIndeterminateDrawable()
anstelle von getProgressDrawable()
.
Seit Lollipop (API 21) können Sie eine Verlaufstönung einstellen:
progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
0 Stimmen
Haben Sie versucht, MyProgressBar.setProgressDrawable(Drawable d), die eine Bitmap mit der gewünschten Farbe angibt? developer.Android.com/reference/Android/widget/ developer.Android.com/reference/Android/graphics/drawable/
2 Stimmen
Ja, ich habe es versucht, aber es funktioniert nicht. Es setzt die Hintergrundfarbe der gesamten Fortschrittsbalken-Ansicht, anstatt die Hintergrundfarbe nur des Balkens selbst zu setzen. Danke!
76 Stimmen
android:indeterminateTint="@android:color/white"
funktioniert nur bei API >=212 Stimmen
android:progressTint="@android:color/white"
wenn Sie nicht-unbestimmte