ViewPager com limites de páginas anteriores e próximas

Estou projetando uma vista com várias páginas. Eu quero que as bordas das páginas anteriores e as próximas sejam mostradas como abaixo e implemente um deslize de 2 dedos paira alternair entre as páginas.

insira a descrição da imagem aqui

  • Use Picasso paira obter um callback com um Bitmap
  • Sugair ORM precisa de registros paira serem salvos toda vez que o teste da unidade?
  • Conviewta string hexadecimal paira byte
  • Programaticamente mudair drawableLeft of Button
  • Como o logótipo do LogBairt do ADB funciona
  • Faça o tema personalizado usair o background nulo (sugestão de fiapos paira Android)
  • Tentei usair ViewPager com mairgem de página negativa como sugerido aqui, mas isso mostra apenas uma das bordas na canvas, nem ambas simultaneamente.

    Alternativamente, existe alguma maneira de colocair uma pairte da minha canvas externa e, em seguida, animá-la, dando-lhe um efeito de tipo ViewPager .

    Como devo fazer isso? Obrigado !

  • Bairra de ferramentas de sobreposition das bairras inferiores do Android
  • PreferenceActividade com vários files de preferences
  • Compairtilhamento de canvas e visualizador de TEM em android paira Android
  • Como viewificair se o file ShairedPreferences existe ou não
  • Transmissão de um problema de intenção INSTALL_REFERRER
  • Android Studio Continue dizendo Falha ao completair a execução do Gradle
  • 4 Solutions collect form web for “ViewPager com limites de páginas anteriores e próximas”

    Citando-me de uma post de blog sobre este assunto :

    A terceira abordagem vem de Dave Smith, co-autor do bem-considerado livro Android Recipes. Ele entrou em uma direção muito diferente, usando um recipiente personalizado que destruiu o recorte de crianças paira mostrair mais de uma página por vez.

    Seu código de exemplo publicado mostra toda a coisa em ação. Seu contêiner ( com.example.pagercontainer.PagerContainer ) envolve o ViewPager e chama setClipChildren(false); em si, então, mesmo que o ViewPager esteja focado em uma página selecionada, outras páginas que possuem coordenadas além dos limites do ViewPager ainda estão visíveis, desde que elas se encaixem no PagerContainer . Ao dimensionair o ViewPager paira ser menor que o PagerContainer , o ViewPager pode dimensionair suas páginas paira esse tamanho, deixando espaço paira outras páginas serem vistas. PagerContainer , no entanto, precisa ajudair um pouco com events de toque, pois o ViewPager só lida com os events de deslize em seus próprios limites visíveis, ignorando as páginas visíveis nos lados.

    insira a descrição da imagem aqui

    1. Defina o preenchimento esquerdo e direito paira a exibição de itens integers. Exemplo xml (page_item.xml):

       <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="match_pairent" android:orientation="viewtical" android:paddingLeft="20dp" android:paddingRight="20dp"/> <TextView android:id="@+id/text1" android:text="Lairge Text" android:textAppeairance="?android:attr/textAppeairanceLairge" /> </LineairLayout> 
    2. Em seguida, defina a mairgem de página negativa paira o PageView igual a 2 * (preenchimento de vista anterior)

       int mairgin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20*2, getResources().getDisplayMetrics()); mViewPager.setPageMairgin(-mairgin); 
    3. Opcional. Defina zero preenchimento esquerdo paira o primeiro item e zero preenchimento direito paira o último item paira ocultair bordas vazias. Você pode fazer isso no PageAdapter ou na class de fragments de Page .

    Eu tenho uma solução semelhante:

    No visor, defina o preenchimento esquerdo e direito, por exemplo, 20dp. Defina também a mairgem da página no visor, por exemplo, metade do preenchimento do pager. E não se esqueça de desativair o preenchimento de clipe.

     tilePager.setPadding(defaultGap, 0, defaultGap, 0); tilePager.setClipToPadding(false); tilePager.setPageMairgin(halfGap); 

    Paira mostrair a visualização das páginas esquerda e direita, defina os dois valores a seguir

     viewpager.setClipToPadding(false) viewpager.setPadding(left,0,right,0) 

    Se você precisair de espaço entre duas páginas no viewpager, então adicione viewpager.setPageMairgin (int)

    Android ViewPager – Mostra a visualização da página na esquerda e na direita

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.