Eu preciso criar uma interface como o Google Newsstand, que é uma espécie de ViewPager (rolagem horizontal) sobre um cabeçalho recolhível (rolagem vertical). Um dos meus requisitos é usar a nova Biblioteca de Suporte a Design apresentada no Google IO 2015. ( http://android-developers.blogspot.ca/2015/05/android-design-support-library.html )
Com base no exemplo criado por Chris Banes ( https://github.com/chrisbanes/cheesesquare ), cheguei ao ponto em que sou capaz de fazer o comportamento de recolhimento, mas com um LinearLayout básico (sem rolagem horizontal).
Tentei substituir o LinearLayout por um ViewPager e obtive uma tela em branco. Joguei com: largura, peso e todos os tipos de grupos de visão, mas .... ainda uma tela em branco. Parece que ViewPager e NestedScrollView não gostam um do outro.
Tentei uma solução alternativa usando um HorizontalScrollView: funciona, mas perco o benefício do recurso PagerTitleStrip e o foco em um único painel (posso interromper horizontalmente entre 2 painéis).
Agora não tenho mais ideias, se alguém pode me levar a uma solução ...
obrigado
Aqui está meu arquivo de layout mais recente:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="@dimen/header_height"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<include
layout="@layout/part_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax"/>
<android.support.v7.widget.Toolbar
android:id="@+id/activity_main_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/activity_main_nestedscrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v4.view.ViewPager
android:id="@+id/activity_main_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFA0"/>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
ViewPager
dentro de um NestedScrollView
como os únicos layouts - parecia funcionar bem. Eu também fui capaz de entrar em um com DrawerLayout
sucesso. Talvez haja outro aspecto do seu código impedindo a funcionalidade desejada. Quer compartilhar mais de sua fonte?
ViewPager
. Consigo rolar as visualizações para cima e para baixo, bem como rolar para a ViewPager
esquerda / direita.
ViewPager
dentro de umLinearLayout
? Apenas curioso se isso renderizariaViewPager
corretamente.