Scrolle langsam eine ScrollView nach oben

8

Die Frage ist "Wie scrolle ich eine ScrollView nach oben, sehr sanft und langsam".

In meinem speziellen Fall muss ich in ca. 1-2 Sekunden nach oben scrollen. Ich habe versucht interpolieren manuell mit einem Handler (Aufruf scrollTo (0, y)), aber das hat überhaupt nicht funktioniert.

Ich habe diesen Effekt bei einigen Bookreader-Apps schon gesehen, also muss es einen Weg geben, ich bin mir sicher: D. (Text scrollt sehr langsam nach oben, um weiter zu lesen, ohne den Bildschirm zu berühren und Eingaben zu machen.)

    
poitroae 26.08.2011, 08:49
quelle

5 Antworten

10

Bewegen Sie in 2 Sekunden die Bildlaufansicht auf die Position 2000

%Vor%     
Lumis 26.08.2011, 11:08
quelle
25

Ich habe es mit Objekt-Animator (verfügbar in API & gt; = 3) und es sieht sehr gut aus:

Definieren Sie einen ObjectAnimator: final ObjectAnimator animScrollToTop = ObjectAnimator.ofInt(this, "scrollY", 0);

( this bezieht sich auf die Klasse, die Androids ScrollView erweitert)

Sie können die Dauer wie gewünscht einstellen:

animScrollToTop.setDuration(2000); (2 Sekunden)

P. s. Vergessen Sie nicht, die Animation zu starten.

    
Daniel L. 20.01.2013 08:46
quelle
10

Probieren Sie den folgenden Code:

%Vor%     
Muzikant 19.11.2014 22:15
quelle
4

Hast du smoothScrollTo(int x, int y) ausprobiert? Sie können den Geschwindigkeitsparameter nicht einstellen, aber vielleicht ist diese Funktion für Sie in Ordnung

    
VinceFR 26.08.2011 09:17
quelle
0

Sie könnten die Timer- und TimerTask-Klasse verwenden. Sie könnten etwas wie

tun %Vor%     
blessenm 26.08.2011 09:26
quelle

Tags und Links