Ich möchte einen Scroll-Zähler erstellen, der mit einer Geschwindigkeit steigt, die ich für eine Android-App gebe. Ich habe das Gefühl, dass es kein Android-Widget im SDK gibt, und ich wollte eine Idee, wie dies erreicht werden soll noch besser ein Open-Source-Projekt um diese Idee.
Bildbeispiel:
Das ist vielleicht keine perfekte Antwort, aber zumindest ein Ausgangspunkt. Abgesehen von der Animation und der allgemeinen Auffassungsgabe können Sie den größten Teil des Weges dorthin zurücklegen, indem Sie ein TextView mit etwas schickem XML dekorieren. Ich werde teilen, was ich vor ein paar Jahren getan habe, um eine ähnlich aussehende Bildschirmfläche für einen Tipprechner zu erstellen:
Hier ist das XML. Jede einzelne Ziffer ist ein TextView, so dass Sie sie einzeln ändern können. Ich zeige zwei hier, aber offensichtlich gab es 5 für den Screenshot unten.
%Vor%Und das "drawable / gradient", das ich als separate Zeichnungsdatei erstellt habe:
%Vor%
Hier ist das Endergebnis (in einem linearen Layout):
Zusätzlich zur Antwort von raggedToad: Sie können die Klasse ViewAnimator
verwenden, um Ihrem Counter Animationen hinzuzufügen. Es ist einfach zu bedienen. Sie können es erweitern, alle digit textviews in onCreate()
hinzufügen. Implementieren Sie eine Methode increment
, die die Inkrementierungsoperation verarbeitet. Rufen Sie einfach showNext
auf, um zur nächsten Ansicht zu wechseln.
Ich bin ziemlich sicher, dass dieser bestimmte Counter in Ihrem Screenshot einige kurze Animationen (etwa 5 oder 10 Frames) für jeden Übergang von einer Nummer zur nächsten hat. Vielleicht gibt es auch einige mehr, um schnelle Übergänge zu zeigen, ohne tatsächlich bei der bestimmten Zahl mit mehr Unschärfe anzuhalten.
Die Hauptaufgabe wäre also die Erstellung der Grafiken. Dann muss nur der richtige Rahmen zur richtigen Zeit angezeigt werden.