ViewPager innerhalb Fragment mit Seitenrändern und Seitentransformer wird nicht korrekt dargestellt

8

Ich habe einen Viewpager mit Fragmenten darin.

Ich verwende den Code ähnlich wie z. B.

ViewPager-Marge in PageTransformer-Transformationen

und Padding, damit Sie die ausgeblendete Kante von Fragmenten auf beiden Seiten des fraglichen Fragments sehen können.

Aber das Problem ist, wenn der Viewpager zum ersten Mal gestartet wird, werden die Fragmente auf beiden Seiten nicht ausgeblendet und ausgezoomt.

i.e. Die Methode "transformPage" meines ZoomOutPageTransformers wird erst aufgerufen, wenn Sie mit dem Wischen beginnen, also die ursprüngliche Off-Page rechts / links oder wo auch immer die Ansichten falsch aussehen, und dann nach einem Wischen "nach rechts" springen.

Irgendwelche Ideen, wie ich es richtig rendern kann, so z. wenn ich anrufe

myViewPager.setCurrentItem (1) - oder irgendetwas, die Seiten zu den Seiten werden entsprechend herausgezoomt.

Wie kann ich erreichen, dass der Viewpager mit dem auf die Off-Screen-Fragmente angewendeten zoomoutpage-Transformer richtig rendert?

    
Dave 02.05.2014, 21:43
quelle

4 Antworten

2

Im Grunde gibt die transformPage () -Methode von PageTransformer die falsche Position zurück, wenn Sie mit Padding und Rand auf dem View Pager spielen. Scheint ein Framework-Fehler zu sein wie hier hier . Die dort erläuterte Workaround funktionierte nicht für mich.

Ich habe also eine andere Lösung gefunden, indem ich den Ansichtspager togge, sobald Sie Daten auf den zugehörigen Adapter legen.

%Vor%     
Gomino 27.01.2015 11:48
quelle
1

Ich weiß, dass ich zu spät bin, um zu antworten, aber ich stand vor demselben Problem und habe keine Antwort darauf gefunden. Also für jeden, der das gleiche Problem hat, hier ist etwas:

Im Grunde wird der Page Transformer beim ersten Laden nicht korrekt zum nächsten Objekt aufgerufen, obwohl er beim ersten Scrollen gut funktioniert.

Also habe ich ein paar Zeilen geschrieben, um die Seite ein wenig zu scrollen und zurück zu bekommen, was uns die gewünschte Ansicht bringt:

%Vor%     
user2520215 25.05.2015 12:50
quelle
0

Ich hatte ein ähnliches Problem und löste es durch Hinzufügen von:

%Vor%     
Navi 22.08.2014 17:13
quelle
0

Ich habe versucht, Padding von ViewPager zu justieren, dann fand ich 45dp wird Element innerhalb von ViewPager richtig rendern.

%Vor%     
aiueoH 26.04.2017 07:39
quelle