美文网首页
RecyclerView

RecyclerView

作者: Dream_Book | 来源:发表于2019-09-26 16:33 被阅读0次

    滚动监听

    setOnScrollListener(已经过期)

    addOnScrollListener

      recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
                
                @Override//状态改变时候调用
                public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                    super.onScrollStateChanged(recyclerView, newState);
                    if (newState == SCROLL_STATE_IDLE) {
                       //静止没有滚动
                    } else if (newState == SCROLL_STATE_DRAGGING) {
                      //正在被外部拖拽,一般为用户正在用手指滚动
                    } else if (newState == SCROLL_STATE_SETTLING) {
                      //自动滚动
                    }
                }
    
                @Override//列表滚动时调用
                public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                    super.onScrolled(recyclerView, dx, dy);
    
                     /**
                     recyclerView : 当前滚动的view
                     dx : 水平滚动距离
                     dy : 垂直滚动距离
    
                     dx > 0 时为手指向左滚动
                     dx < 0 时为手指向右滚动
                     dy > 0 时为手指向上滚动
                     dy < 0 时为手指向下滚动
                     */
                }
            });
    

    是否还可以滑动(向上、下、左、右)

    /**
    判断View在竖直方向是否还能向上,向下滑动。
    @param direction为 -1 表示手指向下滑动, 1 表示手指向上滑动
    
    isVertically1 == false表示已经滚动到底部
    isVertically2 == false表示已经滚动到顶部
    */
    boolean isVertically1 = recyclerView.canScrollVertically(1);
    boolean isVertically2= recyclerView.canScrollVertically(-1);
    
    /**
    判断 水平方向的滑动
    @param direction为 -1 表示手指向左滑动, 1 表示手指向右滑动
    */
    boolean isHorizontally = recyclerView.canScrollHorizontally(1);
    

    相关文章

      网友评论

          本文标题:RecyclerView

          本文链接:https://www.haomeiwen.com/subject/pdsjuctx.html