Ich möchte die Hintergrundfarbe einer Fortschrittsanzeige in Android dynamisch ändern. Ich folgte dem "Bonus" -Teil am Ende der Seite dieses Tutorials:
Es ändert die Farbe, aber nur einmal. Bei mehrmaligem Aufruf verschwindet der Fortschrittsbalken. Hier ist der Code.
Hier ist die Fortschrittsbalken-Definition:
%Vor%Dies ist die Zeichnungsdefinition in res / drawable / green_progress.xml:
%Vor%Ene Einträge zu rex / values / colors.xml:
%Vor%Und schließlich im Code:
%Vor%Wieder ist das Problem, es funktioniert das erste Mal, aber dann macht der Balken verschwinden.
Siehe Android ProgressBar.setProgressDrawable funktioniert nur einmal? für die Antwort, wiederholt unten:
Was ich herausgefunden habe, ist, dass das Zeichen nicht weiß, wie groß es ist, wenn setprogressdrawable aufgerufen wird. Wenn es anfänglich eingerichtet ist, weiß es seine Größe. Das bedeutet, dass die Suchleiste eine neue Zeichenmenge enthält, aber die Größe der Zeichen ist 0, Sie werden nichts sehen.
Die Lösung besteht darin, zuerst die Grenzen des aktuellen Zeichensatzes zu erhalten, dann den neuen Zeichensatz festzulegen und schließlich die Grenzen erneut festzulegen:
%Vor%Tags und Links android progress-bar colors