Android Parallax Effekt und View Pager

8

Ich versuche in meiner Anwendung einen Parallaxeffekt zu erzielen. Ich habe eine FragmentActivity , die die OnPageChangeListener -Schnittstelle implementiert und auf meine ViewPager scrollenden Ereignisse hört.

Um diesen Effekt in meinem XML zu erreichen, habe ich ein LinearLayout hinter allen anderen Ansichten mit meinem Hintergrund und ich verschiebe es in den onPageScrolled Callback. Wenn ich einfach wische, ist alles in Ordnung, der Effekt funktioniert und die Hintergrundposition ändert sich. Aber wenn mein Finger den Bildschirm verlässt, wird der Hintergrund an seiner ursprünglichen Position neu gezeichnet (auch wenn ich auf einer neuen Seite bin). Ich kann nicht verstehen, warum das passiert. Hier der Code meiner FragmentActivity :

%Vor%

Danke.

    
user1305336 09.06.2013, 20:28
quelle

5 Antworten

9

Ich weiß, dass es ein bisschen alt ist, aber sieh dir das Ссылка

an

Es überschreibt nicht die onDraw-Methode, und der Effekt nicht nur mit Bildern, es funktioniert mit jeder Art von Ansicht

%Vor%

R.id.paraallaxContent ist die ID der Ansicht, die diesen Effekt haben soll

es sei denn, die anderen Lösungen benötigen keine konkrete Struktur und sind auch layout-unabhängig

demo: youtube

    
xgc1986 25.04.2014, 20:37
quelle
2

Ich weiß, dass die Frage alt ist, und ich kann deine Frage nicht wirklich beantworten. Aber ein Typ namens Matthieu hat ein hervorragendes Beispiel für den Parallax-Effekt von ViewPager erstellt, den Sie unter folgendem Link finden können.

Ссылка

    
Jakob 19.09.2013 19:13
quelle
2

Vielleicht kann diese Bibliothek Ihnen helfen:

Ссылка

    
GaRRaPeTa 22.03.2014 19:34
quelle
2

Diese Bibliothek ist vollständig in x- und y-Richtung anpassbar und enthält Alpha-Effekte:

Ссылка

Installation (ab Version 0.7, README auf Updates prüfen):

  1. Als Maven Central-Abhängigkeit mit Gradle hinzufügen

  2. Verwenden Sie die benutzerdefinierte ParallaxContainer in Layout-XML anstelle von ViewPager

  3. Erstellen Sie eine Layout-XML-Datei für jede Seite (die x / y / alpha-Attribute können für jedes Objekt separat festgelegt werden, das sich auf der Seite bewegt)

  4. Es gibt einige Copy / Paste-Zeilen, die Sie zu onCreate Ihrer Aktivität hinzufügen können (gehen Sie zur README für die genauen Zeilen)

    
matt--- 13.05.2014 00:02
quelle
1

Sieh dir diese kleine Bibliothek an, die ich erstellt habe - es ist eine ViewPager-Unterklasse, die keine zusätzliche Konfiguration für den Parallax-Effekt benötigt arbeiten.

    
Andras K 09.05.2014 18:32
quelle