Android - Karussell-wie widget zeigt einen Teil des linken und des rechten elements
So, ich habe gesucht, hoch und niedrig, aber nicht finden konnten, eine Antwort auf meine Frage. Was ich im Grunde brauchen, ist das Verhalten von Android ist ViewFlipper oder ViewPager, aber ich möchte die Anzeige von teilen der linken und rechten Ansichten, um anzuzeigen, der Benutzer gibt es die Elemente zu scrollen, statt mit der gewählten Darstellung besetzt den ganzen Bildschirm.
Ich möchte auch hinzufügen, dass einige Effekte auf der linken Seite und Ansichten, wie Dimmen und die Skalierung dann ein wenig nach unten. Ist es möglich, es zu tun mit der Börse ViewFlipper oder ViewPager oder muss ich das roll-out meiner eigenen Gruppe "Ansicht" à la cover-flow (http://www.inter-fuser.com/2010/01/android-coverflow-widget.html)?
(P. S. ich don ' T wollen, verwenden Sie die Galerie-widget, dass die Komponente saugt).
Dies ist, was wir brauchen, um anzuzeigen, sobald eine Ansicht ausgewählt ist (linke und Rechte Ansichten sind immer noch angezeigt werden):
Schleuderte nach Links oder rechts würde der übergang der Hauptansicht aus, Dimmen und die es zu reduzieren ein wenig und tun das Gegenteil mit der nächsten oder vorherigen Ansicht.
- Sind Sie beschreiben?
- Schließen, außer dass die ausgewählte Ansicht sollte nicht besetzen den ganzen Bildschirm. Siehe edit oben mit einem Bild erklären, das layout.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde gerne ein update auf wer soll die gleiche Funktion. Viele Fortschritte gemacht worden, um diese Funktion zu implementieren, so weit und jetzt ist die Ansicht arbeiten, genau wie wir es brauchen.
Den ViewPager hat eine Methode namens setPageMargin(). Diese Methode kann, erhalten einen negativen Wert, wodurch die Fragmente/Ansichten zu überlagern. Die Ankunft an der gewünschten layout, haben wir zunächst dynamisch berechneten linken und rechten Rand um einen Prozentsatz des Bildschirms. Diese kann getan werden statisch als gut, aber da werden wir auf eine Reihe von unterschiedlichen screen-Größen, dies scheint der beste Ansatz sein.
Später setzen wir die ViewPager der Seitenrand bis 2 mal die Größe der Seitenränder. Das macht die Ansichten snap wieder zusammen. Jedoch, zu dieser Zeit, es wird mehr als einer Ansicht angezeigt wird, durch den ViewPager.
Alles, was Sie zu tun haben, anwenden einer Transformation (skalieren), um die Ansichten Links und rechts (Android 3.0+) oder fügen Sie einige weitere Ränder um Sie herum zu schrumpfen auf die richtige Größe (pre 3.0).
Den OnPageChangeListener.onPageScrolled() kann verwendet werden, um die Spur der ViewPager ist scrollen. Eine glatte
transformation kann erreicht werden. Der code sieht so aus:
Dies ist es. Ich wusste nicht, poste die vollständige Lösung, aber ich hoffe, das ist genug, um jemand anderes begann.
P. S. Auf 3.0+ hardware-Beschleunigung aktivieren. Ohne Sie wäre das scrollen sah abgehackt auf einem samsung galaxy tab 10.1.
Ich spielte etwas mit ihm, und meine Lösung ist ziemlich einfach. Ich bin Entsendung es hier, falls jemand interessiert ist.
Zuerst das layout für jedes fragment sollte es noch einige Lücken auf beiden Seiten. der einfachste Weg, ich fand, dies zu tun ist, mit gewichten:
Hinterlässt dies einen schönen 10% - Marge auf jeder Seite. Stellen Sie sicher, dass ein hintergrund zu diesen, denn es deckt die Nachbar-Fragmente.
Jetzt für den pager selbst: Sie müssen mit negativen Margen, als AngraX erklärt werden, aber sicher sein, um die pre-load der nachfolgenden Fragmenten, wie Sie sichtbar sind, bevor Sie Sie regelmäßig. Ich habe gute Ergebnisse mit dieser:
den Wert -7 Blätter, der Rand des nächsten fragments sichtbar, spielen mit Ihrer spezifischen Zusammensetzung. Ich empfehle auch die Gestaltung jedes fragment.
Nun, hier ist eine mögliche Antwort, die möglicherweise in der Nähe, was Sie suchen, aber nicht genau das, was du suchst: es gibt ein Projekt namens ViewFlow, dass ich denke, dass die Möglichkeit bietet, um den Benutzer zu Benachrichtigen, dass es mehrere Ansichten über anzeigen auf dem Bildschirm. Es bietet auch die Möglichkeit, Puffer Ansichten, die Links und rechts von der aktuellen Sicht, so dass Sie möglicherweise in der Lage sein poke der code zum Rendern von kleinen teilen, indem Sie im Grunde schrumpft, was Sie auf Ihrem Bildschirm Größe.
Edit: ich Dummerchen, ich sollte Lesen Sie die Letzte Frage, bevor ich Antworte. 🙂 Ich glaube nicht, dass Sie können dies tun, mit einem ViewFlipper oder Viewpager, leider.
Nur mit einem ViewPager und spielen Sie mit der Breite der Fragmente und Margen. Ich habe so getan und es funktioniert gut.