Ich versuche einen Countdown zu erstellen. Ich sehe nicht, wie genau ich einen Countdown machen kann. Kann jemand helfen?Wie mache ich einen Countdown?
Antwort
Der Code tut, was Sie ihm sagen. Sie sagen in onStart:
end.add(Calendar.MINUTE, 4);
end.add(Calendar.SECOND, 5);
, die dem System mitteilt, dass Sie einen Countdown ab 4 Minuten und 4 Sekunden wünschen. Stattdessen tun:
end.add(Calendar.SECOND, 45);
EDIT
Es dauerte eine Weile, um zu verstehen, was Sie meinten. Gehen Sie zunächst zu github und kopieren Sie TickTockView in Ihr eigenes Projekt. Entfernen Sie die Abhängigkeit vom ursprünglichen Projekt. Öffnen Sie die Datei und in OnDraw ändern:
if (mCircleDuration == DURATION_TOTAL && mStartTime != null) {
long totalTime = mEndTime.getTimeInMillis() - mStartTime.getTimeInMillis();
float percentage = (((float) mTimeRemaining)/((float) totalTime));
angle = 360f * percentage;
}
zu:
if (mCircleDuration == DURATION_TOTAL && mStartTime != null) {
long totalTime = mEndTime.getTimeInMillis() - mStartTime.getTimeInMillis();
float percentage = (((float) mTimeRemaining)/((float) 45000));//45000(ms) = 45 seconds
angle = 360f * percentage;
}
in Ihrem XML-Datei, in der der Kreis definiert ist, fügen:
app:tickCircleDuration="total_time"
Und das tun, Sie muss nur totalTime in onDraw in der TickTockView ändern. Denken Sie daran, den Paketnamen in der XML-Datei so zu aktualisieren, dass er auf den Speicherort verweist, an dem Sie die Datei gespeichert haben, nicht auf das ursprüngliche Projekt.
Als Referenz this ist die Datei, die Sie
Ändern Sie den Code unten in
Calendar end = Calendar.getInstance();
end.add(Calendar.MINUTE, 4);
end.add(Calendar.SECOND, 5);
in
Calendar end = Calendar.getInstance();
end.add(Calendar.MINUTE, 0);//O minute
end.add(Calendar.SECOND, 45);//45 second
Die gute Art und Weise von Android zu nutzen ist CountDownTimer Klasse kopieren sollte abwärts zählend in der Zeit. Ich habe es kürzlich in meinem Spiel verwendet und ist einfach zu benutzen. Zuerst du
CountDownTimer timer = new CountDownTimer(45000, 1000) {
// 45000 milliseconds countdown and 1000 milliseconds decrement at each tick.
public void onTick(long millisUntilFinished) {
//you can change your UI here based on time
}
public void onFinish() {
// you can define something to happen when timer ends.
}
};
timer.start();
- 1. Wie mache ich einen sehr einfachen Countdown-Timer in Javascript?
- 2. Wie mache ich einen Countdown-Timer auf appengine?
- 3. C# Simple Countdown - Was mache ich falsch?
- 4. Wie mache ich einen Doppelauswahlfilter?
- 5. Wie mache ich einen Bildkonverter?
- 6. Wie mache ich einen Videofüllrahmen?
- 7. Wie mache ich einen Medienabschnitt?
- 8. Wie mache ich einen Slider wie Javascript?
- 9. Wie mache ich einen "verzweigten" Conduit?
- 10. Wie mache ich einen (statischen) Initialisiererblock strictfp?
- 11. Wie mache ich einen Einsatz mit einem
- 12. Wie mache ich einen Block in reactjs?
- 13. Wie mache ich einen HBAS-Scan?
- 14. Wie mache ich einen Ordner/Verzeichnis
- 15. Wie mache ich einen Clip (LIDAR-Daten)
- 16. Wie mache ich einen Text als auswählbar?
- 17. Wie mache ich einen Bot im Telegramm?
- 18. Wie mache ich einen buttonähnlichen Filter?
- 19. Wie mache ich einen Hintergrund Farbverlauf
- 20. Wie mache ich einen Befehlszeilen-Texteditor?
- 21. Wie mache ich einen "zurück" -Link?
- 22. Wie mache ich einen MdiClient-Hintergrund transparent?
- 23. Wie mache ich einen Datumsvergleich in Javascript?
- 24. Wie mache ich einen Piepton in Android?
- 25. Wie mache ich einen Go-Prozess?
- 26. Wie mache ich einen Link in Javascript
- 27. Wie mache ich einen runden Fortschrittsbalken?
- 28. Wie mache ich einen animierten Spritekit-Hintergrund?
- 29. Wie mache ich einen Git Push?
- 30. Wie mache ich einen Apache-Server öffentlich?
Das ist nicht was ich meinte. Mein Problem ist, dass der Kreis in 45 Sekunden keinen vollen Zyklus macht. Ich werde die Frage jetzt mit einem GIF aktualisieren. – Me123
Es macht keinen vollen Zyklus in 45 Sekunden, weil Sie es von vier Minuten und 5 Sekunden Countdown sagen. Oder 240 Sekunden. Es kann keinen Zyklus in 45 Sekunden ausführen, wenn der angeforderte Zyklus insgesamt 245 Sekunden beträgt. – Zoe
Die GIF erklärt nichts mehr als das Bild – Zoe