Ist es möglich, der Aktionsleiste auf Android einen Timer hinzuzufügen?

8

Ich möchte, dass ein einfacher mm: ss-Timer auf meiner Aktionsleiste angezeigt wird, in der Lage sein soll, die Anzahl der Minuten auszuwählen, ab der rückwärts gezählt wird, und dann eine Methode aufrufen, sobald sie auf 0 steht. Ist das möglich und wie? Danke

    
Omair Vaiyani 02.07.2013, 16:09
quelle

3 Antworten

14

Ich habe es geschafft, indem ich ein TextView als zur Aktionsleiste hinzugefügt habe Aktionsansicht im Menü und aktualisieren Sie sie dann in regelmäßigen Abständen mit CountDownTimer .
(Getestet auf einem Android 3.0 Emulator, einem Android 4.3 Emulator und einem echten Gerät mit Android 4.3).

Hier ist das XML für den Menüpunkt. Beachten Sie, dass actionViewClass="android.widget.TextVew"
(showAsAction und actionViewClass nicht den android-Namespace haben, da ich die Unterstützungsaktionsleiste verwende).

%Vor%

In onCreateOptionsMenu finde ich die MenuItem und rufe getActionView an, um sie der privaten TextView , timerText zuzuordnen. Ich wende hier auch etwas Polsterung an, damit es nicht direkt am Bildschirmrand ist.

%Vor%

Ich habe eine Methode namens startTimer , um CountDownTimer zu starten und timerText in onTick zu aktualisieren. Ich rufe startTimer von onCreateOptionsMenu auf, um sicherzustellen, dass auf timerText nicht zugegriffen wird, bevor es initialisiert wurde. (Vorher habe ich startTimer von onCreate aufgerufen, aber NullPointerException ).

%Vor%

Ich bin sicher, dass jeder, der dies liest, einen besseren Weg kennt, um eine ganze Zahl von Sekunden in einen Timecode wie "00:00:00" zu konvertieren, aber nur für den Fall, dass ich die secondsToString Methode I teilen werde verwendet in onTick , oben.

%Vor%     
Matt 08.01.2014 15:35
quelle
2

Menü xml

%Vor%

** public boolean onCreateOptionsMenu (Menü Menü) "

%Vor%     
NeErAj KuMaR 20.01.2016 07:26
quelle
0

Ja, es ist möglich, einen Timer in der Toolbar-Aktion hinzuzufügen Verwenden Sie diesen Code in Java:

%Vor%

und auch verwenden Menü-Datei definierte Timer-ID genau so

Wenn Sie mehr über den Besuch youtube erfahren:)

    
funny 07.02.2018 01:27
quelle