Сворачивающаяся панель инструментов не работает, когда содержимое является динамически загружаемым фрагментом

У меня есть активность, которая использует сворачивающуюся панель инструментов. Макет выглядит примерно так (несущественное опущено):

<DrawerLayout ...>
    <FrameLayout>
        <CoordinatorLayout>
            <AppBarLayout>
                <CollapsingToolbarLayout
                    app:layout_scrollFlags="scroll|exitUntilCollapsed" ...>
                    <Toolbar
                        app:layout_scrollFlags="scroll|enterAlways" .../>
                </CollapsingToolbarLayout>
            </AppBarLayout>
            <FrameLayout
                android:id="@+id/fragment_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
        </CoordinatorLayout>
    </FrameLayout>
</DrawerLayout>

В активности onCreate() я создаю фрагмент и заменяю им fragment_container:

TabHostFragment f = new TabHostFragment();
getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.fragment_container, f)
    .commit();

Макет TabHostFragments — это всего лишь макет ViewPager, который заполняется несколькими фрагментами. Некоторые из этих фрагментов содержат представление переработчика. Теперь, когда я прокручиваю эти представления ресайклера вверх и вниз, панель инструментов вообще не реагирует. Как сделать, чтобы панель инструментов исчезала при прокрутке вниз и появлялась при прокрутке вверх?


comment
Вы пытались добавить app:layout_behavior="@string/appbar_scrolling_view_behavior" в RecyclerView?   -  person Roman Kolomenskii    schedule 23.01.2017
comment
попробуйте эту ссылку mzgreen.github.io/2015/06/23/   -  person siddhesh    schedule 23.01.2017
comment
@RomanKolomenskiy У меня есть, но безрезультатно.   -  person manabreak    schedule 23.01.2017
comment
@manabreak ты нашел какое-нибудь решение?   -  person Ahmed Gamal    schedule 02.05.2017
comment
Привет, ты нашел какое-нибудь решение для этого?   -  person Franco    schedule 06.06.2018
comment
@manabreak, есть решение? Поделись, пожалуйста   -  person Rakesh    schedule 30.11.2019


Ответы (1)


Соответственно перепишите схему компоновки.

<android.support.v4.widget.DrawerLayout 
    ...
    android:fitsSystemWindows="true">

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

        <android.support.v4.widget.NestedScrollView
            ...
            android:fillViewport="true"
            android:fitsSystemWindows="true"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <include layout="@layout/layout_with_your_viewPager" />

        </android.support.v4.widget.NestedScrollView>

        <include layout="@layout/app_bar_layout" />

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

    <FrameLayout />
</android.support.v4.widget.DrawerLayout>
person Taras Mykhalchuk    schedule 23.01.2017