【问题标题】:Scroll ActionBar up and hide with scroll in RecyclerView向上滚动 ActionBar 并在 RecyclerView 中滚动隐藏
【发布时间】:2015-05-01 06:03:06
【问题描述】:

我想实现 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 android-actionbar material-design android-recyclerview


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    相关资源
    最近更新 更多