/ / Ändern Sie Zeichen auf Android ProgressBar - Android, Fortschrittsbalken

Ändern Sie Zeichen auf Android ProgressBar - Android, Fortschrittsbalken

Ich habe progress_incomplete.xml und progress_complete.xml

Beide Dateien sind so (ich habe alle Farbverläufe und Strichinformationen entfernt, um Platz zu sparen, da es nicht wirklich wichtig ist).

Im Grunde ist die incomplete.xml gelb und komplett grün.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
...
</shape>
</item>

<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
...
</shape>
</clip>
</item>
<item
android:id="@android:id/progress"
>
<clip>
<shape>
...
</shape>
</clip>
</item>

</layer-list>

In meiner Java-Datei habe ich Folgendes:

            if (percentage == 100)
{
// Change colour
progressBar.setProgressDrawable(R.drawable.progress_complete);
}

Ich finde, dass das nicht funktioniert. Ich habe auch setBackground und setBackgroundDrawable versucht, aber die Änderung wird nicht wirksam.

Was mache ich?

Vielen Dank

Antworten:

2 für die Antwort № 1
if (percentage == 100) {
// Change colour
Drawable drawable = getResources().getDrawable(R.drawable.progress_complete);
progressBar.setProgressDrawable(drawable);
}

0 für die Antwort № 2

Verweisung Dies Antwort auf SO, Sie können diese Lösung versuchen. Es kann dein Problem lösen.

if (percentage == 100)

{
// Change colour
Rect bounds = progressBar.getProgressDrawable().getBounds();
progressBar.setProgressDrawable(R.drawable.progress_complete);
progressBar.getProgressDrawable().setBounds(bounds);
}