Estou projetando uma exibição com várias páginas. Quero que as bordas das páginas anteriores e seguintes sejam mostradas como abaixo e implemente um furto de dois dedos para alternar entre as páginas.
Tentei usar ViewPager
com margem de página negativa, conforme sugerido aqui, mas isso mostra apenas uma das bordas da tela, não as duas simultaneamente.
Como alternativa, existe alguma maneira de posicionar parte da minha visão fora da tela e animá-la, dando-lhe um ViewPager
efeito de tipo.
Como devo fazer isso? Obrigado !
android
android-viewpager
viewflipper
viewanimator
Gaurav Arora
fonte
fonte
Respostas:
Citando-me de uma postagem de blog sobre este assunto :
fonte
Eu tenho uma solução semelhante:
No visor, defina o preenchimento esquerdo e direito, por exemplo, 20dp. Defina também a margem da página no visor, por exemplo, metade do preenchimento do pager. E não se esqueça de desativar o preenchimento de clipe.
fonte
Defina o preenchimento esquerdo e direito para a exibição de itens inteiros. Exemplo de xml (page_item.xml):
Em seguida, defina a margem negativa da página para
PageView
igual a 2 * (preenchimento de visualização anterior)Opcional. Defina zero preenchimento esquerdo para o primeiro item e zero preenchimento direito como último item para ocultar bordas vazias. Você pode fazer isso na classe
PageAdapter
ouPage
fragment.fonte
Para mostrar a visualização das páginas esquerda e direita, defina os dois valores a seguir
Se você precisar de espaço entre duas páginas no viewpager, adicione viewpager.setPageMargin (int)
Android ViewPager - Mostrar pré-visualização da página à esquerda e à direita
fonte
se alguém ainda está procurando a solução, eu personalizei o ViewPage para alcançá-lo sem usar margem negativa, encontre um projeto de exemplo aqui https://github.com/44kksharma/Android-ViewPager-Carousel-UI, ele deve funcionar na maioria dos casos, mas você ainda pode definir a margem da página com
mPager.setPageMargin(margin in pixel);
fonte
Faça o download do código fonte aqui ( ViewPager com os limites da página anterior e da próxima )
MainActivity.java
fonte
Algum tempo atrás, eu precisava desse recurso e preparei uma pequena biblioteca que usa
RecyclerView
com o PagerSnapHelper (adicionada na versão 25.1.0 da biblioteca de suporte da v7) em vez da clássicaViewPager
:MetalRecyclerPagerView - você pode encontrar todo o código junto com exemplos.
Principalmente, consiste de um único arquivo de classe: MetalRecyclerViewPager.java (e dois xmls: attrs.xml e ids.xml ).
Espero que ajude alguém :)
fonte