Projektuję widok z wieloma stronami. Chcę, aby krawędzie poprzednich i następnych stron były wyświetlane jak poniżej i zaimplementuj przesunięcie 2 palcami, aby przełączać się między stronami.
Próbowałem używać ViewPager
z negatywnym marginesem strony, jak sugerowano tutaj, ale pokazuje to tylko jedną krawędź na ekranie, a nie obie jednocześnie.
Alternatywnie, czy istnieje sposób, w jaki mogę umieścić część widoku poza ekranem, a następnie ożywić go, nadając mu ViewPager
efekt czcionki.
Jak mam się do tego zabrać? Dzięki !
android
android-viewpager
viewflipper
viewanimator
Gaurav Arora
źródło
źródło
Odpowiedzi:
Cytując siebie z wpisu na blogu na ten temat :
źródło
Mam podobne rozwiązanie:
W viewpager ustaw dopełnienie lewe i prawe, np. 20dp. Ustaw również margines strony na stronie podglądu, np. Połowę wypełnienia pagera. I nie zapomnij wyłączyć wypełniania klipów.
źródło
Ustaw dopełnienie z lewej i prawej strony dla widoku całego elementu. Przykład xml (page_item.xml):
Następnie ustaw ujemny margines strony na
PageView
równy 2 * (dopełnienie poprzedniego widoku)Opcjonalny. Ustaw zero dopełnienia z lewej strony dla pierwszego elementu i zerowe dopełnienie z prawej strony dla ostatniego elementu, aby ukryć puste krawędzie. Możesz to zrobić w klasie
PageAdapter
lubPage
fragment.źródło
Aby wyświetlić podgląd lewej i prawej strony, ustaw następujące dwie wartości
Jeśli potrzebujesz odstępu między dwiema stronami w viewpager, dodaj viewpager.setPageMargin (int)
Android ViewPager - Pokaż podgląd strony po lewej i prawej stronie
źródło
jeśli ktoś wciąż szuka rozwiązania, dostosowałem ViewPage, aby osiągnąć to bez użycia ujemnego marginesu, przykładowy projekt znajdziesz tutaj https://github.com/44kksharma/Android-ViewPager-Carousel-UI powinien działać w większości przypadków ale Ty nadal można zdefiniować margines strony za pomocą
mPager.setPageMargin(margin in pixel);
źródło
Pobierz kod źródłowy stąd ( ViewPager z granicami poprzedniej i następnej strony )
MainActivity.java
źródło
Jakiś czas temu potrzebowałem takiej funkcji i przygotowałem malutką bibliotekę, która używa
RecyclerView
z PagerSnapHelper (dodana w wersji 25.1.0 biblioteki obsługi v7) zamiast klasycznejViewPager
:MetalRecyclerPagerView - możesz tam znaleźć cały kod wraz z przykładami.
Głównie składa się z jednego pliku klasy: MetalRecyclerViewPager.java (oraz dwóch plików xml: attrs.xml i ids.xml ).
Mam nadzieję, że to komuś pomoże :)
źródło