Necesito crear una interfaz como Google Newsstand, que es una especie de ViewPager (desplazamiento horizontal) sobre un encabezado que se contrae (desplazamiento vertical). Uno de mis requisitos es utilizar la nueva biblioteca de soporte de diseño presentada en Google IO 2015. ( http://android-developers.blogspot.ca/2015/05/android-design-support-library.html )
Basado en la muestra creada por Chris Banes ( https://github.com/chrisbanes/cheesesquare ) he llegado al punto en que puedo hacer el comportamiento de colapso pero con un LinearLayout básico (sin desplazamiento horizontal).
Intenté reemplazar LinearLayout por un ViewPager y me salió una pantalla en blanco. Jugué con: ancho, peso y todo tipo de grupos de vista, pero ... todavía una pantalla en blanco. Parece que ViewPager y NestedScrollView no se gustan entre sí.
Probé una solución alternativa utilizando HorizontalScrollView: funciona pero pierdo el beneficio de la función PagerTitleStrip y el enfoque en un solo panel (puedo detener el horizontal entre 2 paneles).
Ahora no tengo más ideas, si alguien me puede llevar a una solución ...
Gracias
Aquí está mi último archivo de diseño:
<?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
interior NestedScrollView
como los únicos diseños; parecía funcionar bien. También pude entrar con DrawerLayout
éxito en un . Quizás haya otro aspecto de su código que impida la funcionalidad que desea. ¿Le gustaría compartir más de su fuente?
ViewPager
. Puedo desplazar las vistas hacia arriba y hacia abajo, así como desplazarme hacia la ViewPager
izquierda / derecha.
ViewPager
interiorLinearLayout
? Solo tengo curiosidad por saber si eso representaríaViewPager
correctamente.