Новая библиотека дизайна поддержки Android, прокрутка вкладок вне экрана не работает

Попытка использовать новую библиотеку дизайна поддержки. В моем макете я хочу, чтобы ToolBar оставался в верхней части экрана, но чтобы TabLayout исчезал с экрана, когда пользователь прокручивает страницу вниз. Но похоже, что ViewPager идет под AppBarLayout. Я использовал этот пост в блоге для справки https://medium.com/ribot-labs/exploring-the-new-android-design-support-library-b7cda56d2c32

Это макет, в котором ViewPager содержит Fragments, которые состоят из представлений ресайклера.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="@color/material_grey50"
android:clickable="true">

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tabLayout" />


<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_list"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />


    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/toolbar_list"
        android:background="?attr/colorPrimary"
        android:scrollbars="horizontal"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:layout_scrollFlags="scroll|enterAlways"
        app:tabGravity="center" />


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


<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab_post"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="16dp"
    android:layout_marginRight="16dp"
    android:elevation="3dp"
    android:src="@drawable/ic_videocam_white_36dp"
    app:backgroundTint="@color/accent"
    app:fabSize="normal" />

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

person Brian    schedule 19.06.2015    source источник
comment
Здесь layout_behavior работает с определенными элементами управления, такими как просмотр переработчика или вложенный просмотр прокрутки. см. демонстрацию.   -  person Harry's Lab    schedule 19.06.2015


Ответы (1)


Не забудьте установить это в viewpager:

app:layout_behavior="@string/appbar_scrolling_view_behavior"

person Amirul Zin    schedule 19.06.2015
comment
я тоже так делала безрезультатно - person Brian; 19.06.2015
comment
Это может быть не так, но в моем проекте он отлично работает, когда ViewPager является последним дочерним элементом, а AppBarLayout — первым дочерним элементом CoordinatorLayout. Попробуйте переставить их в таком порядке. Кроме того, я вижу, что тег </RelativeLayout> добавляет нижнюю часть вашего фрагмента, поэтому, если это осталось от предыдущего удаления, попробуйте удалить его. - person Amirul Zin; 19.06.2015
comment
хм, переупорядочение тоже не работает, вы используете поддержку дизайна 22.2.0 и поддержку lib 22.2? Будет ли иметь значение, если этот макет находится во фрагменте? - person Brian; 19.06.2015
comment
Да. Я даже использовал его во фрагменте. Если подумать, удалите этот ненужный относительный макет и просто используйте вместо него layout_anchor и layout_gravity в FAB. - person Amirul Zin; 19.06.2015