Я создаю представление с несколькими страницами. Я хочу, чтобы края предыдущей и следующей страниц отображались, как показано ниже, и выполняю движение двумя пальцами для переключения между страницами.
Я попытался использовать ViewPager
с отрицательным полем страницы, как предложено здесь, но это показывает только один из краев на экране, а не оба одновременно.
Кроме того, есть ли способ, которым я могу расположить часть моего вида за пределами экрана, а затем анимировать его, придав ему ViewPager
эффект типа.
Как я должен идти об этом? Спасибо !
android
android-viewpager
viewflipper
viewanimator
Гаурав Арора
источник
источник
Ответы:
Цитирую себя из поста в блоге на эту тему :
источник
У меня есть похожее решение:
На панели просмотра установите отступы влево и вправо, например, 20dp. Также установите поле страницы в пейджере, например, половину заполнения пейджера. И не забудьте отключить дополнение клипа.
источник
Установите левый и правый отступ для всего вида элемента. Пример xml (page_item.xml):
Затем установите отрицательное поле страницы
PageView
равным 2 * (предыдущий вид)По желанию. Установите нулевое левое заполнение для первого элемента и нулевое правое заполнение для последнего элемента, чтобы скрыть пустые края. Вы можете сделать это в классе
PageAdapter
илиPage
фрагменте.источник
Для предварительного просмотра левой и правой страниц установите следующие два значения
Если вам нужно пространство между двумя страницами в viewpager, то добавьте viewpager.setPageMargin (int)
Android ViewPager - Показать предварительный просмотр страницы слева и справа
источник
если кто-то все еще ищет решение, я настроил ViewPage для его достижения без использования отрицательного поля, найдите образец проекта здесь https://github.com/44kksharma/Android-ViewPager-Carousel-UI, в большинстве случаев он должен работать, но вы все еще можно определить поле страницы с
mPager.setPageMargin(margin in pixel);
источник
Загрузите исходный код отсюда ( ViewPager с границами предыдущей и следующей страницы )
MainActivity.java
источник
Некоторое время назад мне нужна такая особенность и подготовил крошечную библиотеку , которая использует
RecyclerView
с PagerSnapHelper (добавлено в версии 25.1.0 библиотеки поддержки v7) вместо классическогоViewPager
:MetalRecyclerPagerView - вы можете найти весь код вместе с примерами там.
В основном он состоит из одного файла класса: MetalRecyclerViewPager.java (и двух xmls: attrs.xml и ids.xml ).
Надеюсь, это кому-нибудь поможет :)
источник