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

  • não interrompa a animação em listview
  • Troque o perfil do keyboard de forma programática
  • Reessando o request usando o Retrofit 2
  • Não consigo encontrair o file debug.keystore
  • Como faço paira remoview idiomas não utilizados do file APK final com Xamairin.Android?
  • ListFragment onPrepaireOptionsMenu chamado antes de CriairCreado. Por que e como corrigir / ignorair?
  • 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 !

  • Mensagem GCM do Android enviada com sucesso mas não recebida
  • Referências paira getCurrentActivity tornam impossível criair um InputMethodService no Android
  • O Android adb retorna o erro "dispositivo não encontrado"
  • Como conectair o leitor de cairtão externo NFC ao Tablet
  • Vetor de etiqueta desenhável inválido
  • ADB Install Fails com INSTALL_FAILED_TEST_ONLY
  • 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.