向上滚动 ActionBar 并在 RecyclerView 中滚动隐藏

Scroll ActionBar up and hide with scroll in RecyclerView

我想实现 Google Play 商店应用中使用的滚动技术。该应用程序描绘了操作栏下方的选项卡。内容向上滚动后,它会向上推动操作栏并最终将其隐藏。那时标签仍然粘在顶部。

我尝试了下面的代码,但闪烁仍然存在 -

    mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {

        private static final int SCROLL_DIRECTION_UP = 1;
        private static final int SCROLL_DIRECTION_DOWN = 2;

        private int verticalDirection;

        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);

            if(newState == RecyclerView.SCROLL_STATE_SETTLING) {
                if (verticalDirection == SCROLL_DIRECTION_UP && getActivity().getActionBar().isShowing()) {
                    getActivity().getActionBar().hide();
                } else if (newState == SCROLL_DIRECTION_DOWN && !getActivity().getActionBar().isShowing()) {
                    getActivity().getActionBar().show();
                }
            }
        }

        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);

            if (dy > 0) {
                verticalDirection = SCROLL_DIRECTION_UP;
            } else {
                verticalDirection = SCROLL_DIRECTION_DOWN;
            }
        }
    });

此外,我没有使用 ACTION_BAR_OVERLAY,因为我没有找到在我的用例中使用它的任何理由。

任何人都可以指出与此相关的任何资源吗?

现在您可以使用官方 Android 设计库 轻松实现此目的。
检查这个例子: https://github.com/chrisbanes/cheesesquare