У меня много проблем с прокруткой и обнаружением ее внутри фрагментов с помощью координататор в Android.У меня есть «MainActivity», которая содержит 3 фрагмента.В одном из этих фрагментов у меня есть панель приложений, которая разрушается при прокрутке фрагмента.Мне удалось это сделать, но если я установил поведение прокрутки, чтобы разрешить это, мой bottomNavigationView (который находится в mainactivity.xml) НЕ реагирует на прокрутку.Коды выглядят примерно так:
Fragment1.xml
<android.support.design.widget.CoordinatorLayout
...
...>
<android.support.design.widget.AppBarLayout
...
...>
<android.support.design.widget.CollapsingToolbarLayout
app:layout_scrollFlags="scroll|exitUntilCollapsed"
...>
<android.support.v7.widget.Toolbar
.../>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
MainActivity.xml
<android.support.design.widget.CoordinatorLayout
.../>
<FrameLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
.../>
<android.support.design.widget.BottomNavigationView
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
.../>
</android.support.design.widget.CoordinatorLayout>
Сейчас,это работает достаточно хорошо, в том смысле, что когда я прокручиваю внутри фрагмента, моя панель приложений сворачивается в заголовок (что я и хочу), НО мой bottomNavigationView не реагирует на прокрутку.
Я обнаружил, что еслиЯ добавляю строку
app:layout_behavior="@string/appbar_scrolling_view_behavior"
в декларацию AppBarLayout xml. Я получаю bottomView, чтобы свернуться при событии прокрутки (когда я прокручиваю вверх, он снова отображается).Так что в основном у меня есть возможность свернуть панель приложения внутри фрагмента ИЛИ у меня есть возможность скрыть BottomNavigationView при обнаружении события прокрутки внутри фрагмента.
Любая помощь будет приветствоваться.