Recyclerview AddOnScrollListener

时间:2017-05-05 06:08:07

标签: android android-recyclerview onscrolllistener

我已经为我的recyclerview实现了addonscrollListener,因为我想要 滚动recyclelerview时隐藏我的FAB,如下所示:

mRvNearby.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
            }

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                Log.e("DY",""+dy);
                if(dy<0){
                    mFloatingActionMenu.hideMenuButton(true);
                }else{
                    mFloatingActionMenu.showMenuButton(true);
                }
            }
        });

但不幸的是,当我使用这个听众时,&#34; dy&#34;只改变一次,当我连续滚动时,值为
没有改变。
我期待当向下滚动时,该值将小于0 当向上滚动时,该值大于0。

2 个答案:

答案 0 :(得分:0)

使用大于号而不是小于号。向下滚动时,该值大于0.因此,您的代码将为:

 mRvNearby.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
        }

        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            Log.e("DY",""+dy);
            if(dy>0){
                mFloatingActionMenu.hideMenuButton(true);
            }else{
                mFloatingActionMenu.showMenuButton(true);
            }
        }
    });

答案 1 :(得分:0)

FloatingActionButton.Behavior滚动时,您可以使用Recyclerview来显示/隐藏FAB。

查看此Tutorial