Как запретить пролистывание, когда панель инструментов скрыта, а RecyclerView вверху - PullRequest
0 голосов
/ 07 июня 2019

В моем приложении есть такая настройка макета:

<CoordinatorLayout>
    <AppBarLayout>
        <Toolbar/>
    </AppBarLayout>
    <NestedScrollView>
        <ViewPager>
            <SwipeRefreshLayout>
                <RecyclerView/>
            </SwipeRefreshLayout>
        </ViewPager>
    </NestedScrollView>
</CoordinatorLayout>

Я скрываю панель инструментов при прокрутке вниз, чтобы освободить место для моего контента.За некоторыми исключениями, когда вы выполняете внезапные движения в разные стороны, все работает довольно хорошо.Единственная проблема состоит в том, что, как вы можете видеть в этом gif

SwipeRefresh issue

, что когда панель инструментов скрыта, после прокрутки в следующий месяц, прокрутка /При открытии панели инструментов автоматически запускается функция обновления SwipeRefreshLayout.Я действительно хотел бы запретить это, поскольку обновление потенциально вызывает вход в систему с именем пользователя / паролем / одноразовым пин-кодом.

Я попытался создать подкласс NestedScrollView и использовать прокрутку / переключение, когда a)RecyclerView находится вверху и б) панель инструментов не видна, но пока безуспешно.Любые указатели о том, как сделать это по книге?

...