Android CoordinatorLayout + AppbarLayout + Viewpager immer scrollen

Ich habe ein klassisches Layout mit einer Symbolleiste oben, einem TabLayout darunter und einem ViewPager, der die Registerkarten im TabLayout wechselt. Wenn der Inhalt im ViewPager gescrollt werden kann, sollte die Symbolleiste außer Sichtweite gerollt werden und das TabLayout sollte folgen und haften bleiben, wenn es oben angekommen ist.

All dies ist in meinem aktuellen Code gut, außer dass die Symbolleiste unabhängig von der Größe des ViewPager-Inhalts immer scrollbar ist. Siehe meinen Code unten. Irgendwelche brillanten Ideen, wie man das behebt?

<?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:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/primary"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.ToolBar"
            app:layout_scrollFlags="scroll|enterAlways" />

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:scrollbars="horizontal"
            app:tabIndicatorColor="@color/black_text" />

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/tabs_activity_view_pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.CoordinatorLayout>

BEARBEITEN

Ich kann sehen, dass die Höhe des viewPagers der Höhe der gesamten Stammansicht entspricht. Dies könnte beabsichtigt sein, da appbar_scrolling_view_behavior einen oberen und unteren Versatz hinzuzufügen scheint. Es scheint jedoch seltsam, da es dazu führt, dass die Symbolleiste und die Tab-Leiste immer gescrollt werden.

Antworten auf die Frage(16)

Ihre Antwort auf die Frage