android - error - CoordinatorLayout deja un espacio vacío en la parte inferior después de desplazarse
layout collapsemode parallax (3)
Estoy tratando de implementar los trucos de diseño más nuevos de Google con CoordinatorLayout y tengo problemas con el efecto de desplazamiento y paralaje.
Después de que se muestre la actividad, todo se ve bien, pero el problema ocurre cuando intento desplazarme. Parece que la vista inferior no se expande correctamente y, después de desplazarse hacia arriba, aparece un espacio vacío debajo. La vista inferior parece ser grande, solo lo que tiene en la pantalla inicial entre la vista superior y la barra de navegación.
Se ve algo como esto:
Código relevante:
<FrameLayout 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">
<CoordinatorLayout
android:layout_height="match_parent"
android:layout_width="match_parent">
<AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleMarginStart="72dp"
app:expandedTitleMarginEnd="16dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax"/>
</CollapsingToolbarLayout>
</AppBarLayout>
<ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</CoordinatorLayout>
</FrameLayout>
Este extraño comportamiento sucede al azar. A veces, la vista inferior es desplazable normalmente y ese espacio vacío no aparece. ¿Qué estoy haciendo mal? Gracias.
Intenta agregar la Toolbar
dentro de la tuya CollapsingToolbarLayout
:
<android.support.design.widget.CollapsingToolbarLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
app:layout_collapseMode="pin"/>
...
</android.support.design.widget.CollapsingToolbarLayout>
También intenta añadir
android: minHeight = "? attr / actionBarSize"
a la Toolbar
de Toolbar
CollapsingToolbarLayout
y AppBarLayout
Por motivos de banderas de navegación android: fitsSystemWindows = "true" no cumplía con mis necesidades.
Después de jugar un poco, encontré que agregar otro CollapsingToolbarLayout con 0dp hieght hace el truco.
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_scrollFlags="scroll|snap" />
Tuve el mismo problema y noté que todos los diseños con este problema tenían
android:fitsSystemWindows="true"
en CoordinatorLayout
Quitarlo solucionó mi problema en todas partes.