Wie einige der Vorschläge, können Sie eine Form und clipdrawable mit einer Farbe angeben, dann setzen Sie es. Ich habe diese Arbeit programmatisch. Dies ist, wie ich es tun..
Stellen Sie zunächst sicher, dass Sie die Zeichnungsbibliothek importieren
import android.graphics.drawable.*;
Dann verwenden Sie den Code ähnlich wie unten;
ProgressBar pg = (ProgressBar)row.findViewById(R.id.progress);
final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 };
pgDrawable = new ShapeDrawable(new RoundRectShape(roundedCorners, null,null));
String MyColor = "#FF00FF";
pgDrawable.getPaint().setColor(Color.parseColor(MyColor));
ClipDrawable progress = new ClipDrawable(pgDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);
pg.setProgressDrawable(progress);
pg.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.progress_horizontal));
pg.setProgress(45);
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