1

Ich versuche, eine Zeitfortschrittsbalken in meiner App zu machen um zu zeigen, 35 SekundenAndroid Glatte Timer progressbar mit benutzerdefinierter Form

i hinzugefügt, um es einen Countdown-Timer, aber das Problem ist, es Werte auf jeder Sekunde ändert, aber ich mag die Fortschrittsbalken zu glatt zu ändern

hier ist mein Code:

mCountDownTimer=new CountDownTimer(35000,1000) { 

    @Override 
    public void onTick(long millisUntilFinished) { 
     i--; 
     mProgressBar.setProgress(i); 
    } 
    @Override 
    public void onFinish() { 
     i--; 
     mProgressBar.setProgress(i); 
     wrongAnswer(false); 
    } 
}; 

ich versuchte Animation mit, aber es war für mich ein bisschen schwer und ich habe nicht herausfinden, was zu tun ist.

Gibt es eine Möglichkeit, dies zu tun und einen reibungslosen Fortschritt in der richtigen Weise zu machen?

EDIT: I reduzierten Wert von countDownInterval bis 40 ms, aber jetzt wirkt es seltsam auf verschiedenen Geräten. obwohl Timer ist ok und endet in 17ms, Fortschrittsbalken wirkt anders und manchmal endet in der Mitte, einige Male vor dem Abschluss und ... ist das möglich, dass progressbar nicht genug Zeit hat, den Fortschritt alle 40ms zu ändern und so mein Problem passiert ?

Antwort

1

Haben Sie versucht, das Feld countDownInterval des Timers constructor auf einen Wert einzustellen, der nicht 1000 ms beträgt? Versuchen Sie eine kleinere Nummer, um die Methode onTick() häufiger aufzurufen.

+0

das funktionierte für mich, aber ich frage, ist das ein richtiger Weg, um zu implementieren, was ich brauche? und eine andere Frage, hast du eine Idee, was ich tun soll, um die Form der Fortschrittsbalken zu ändern? – rkarami

+0

Ich habe 'countDownInterval' auf 40ms reduziert, aber der Fortschrittsbalken verhält sich bei einigen Geräten anders! Ich denke, das Problem ist, dass Timer wegen eines kleinen Countdown-Intervalls komisch wirkt und es nicht die Zeit hat, den Fortschrittsbalken so schnell zu aktualisieren, dass ein Problem auftritt. mein Fortschrittsbalken endet manchmal in der Mitte des Fortschritts, obwohl der Timer beendet ist! – rkarami