簡體   English   中英

Recyclerview AddOnScrollListener

[英]Recyclerview AddOnScrollListener

我已經為我的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);
                }
            }
        });

但不幸的是,當我使用這個監聽器時,“dy”只會改變一次,而當我連續滾動時,該值
沒有改變。
我期待當向下滾動時,該值將小於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);
            }
        }
    });

您可以使用FloatingActionButton.BehaviorRecyclerview滾動時顯示/隱藏FAB。

看看這個教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM