OnScrollListener

Posted liyanyan665

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OnScrollListener相关的知识,希望对你有一定的参考价值。

public abstract static class OnScrollListener
/**
* Callback method to be invoked when RecyclerView‘s scroll state changes.
*
* @param recyclerView The RecyclerView whose scroll state has changed.
* @param newState The updated scroll state. One of @link #SCROLL_STATE_IDLE,
* @link #SCROLL_STATE_DRAGGING or @link #SCROLL_STATE_SETTLING.
*/
public void onScrollStateChanged(RecyclerView recyclerView, int newState)

/**
* Callback method to be invoked when the RecyclerView has been scrolled. This will be
* called after the scroll has completed.
* <p>
* This callback will also be called if visible item range changes after a layout
* calculation. In that case, dx and dy will be 0.
*
* @param recyclerView The RecyclerView which scrolled.
* @param dx The amount of horizontal scroll.
* @param dy The amount of vertical scroll.
*/
public void onScrolled(RecyclerView recyclerView, int dx, int dy)

可见,OnScrollListenerll类是一个什么类?“abstract”,即抽象类。我们知道,子类是必须实现父类的抽象方法。其中,onScrollStateChanged  、onScrolled不是抽象方法,有自己的方法体,无需子类必须实现。

onScrolled方法3个参数:1、recyclerView 是要被监听的列表;2、x坐标滑动值;3、y坐标滑动值。

onScrollStateChanged方法2个参数:1、recyclerView 是要被监听的列表;2、newState是滑动状态。

滑动状态值如下:(抬起、滑动中)

/**
* The RecyclerView is not currently scrolling.当前未滚动。
*/
public static final int SCROLL_STATE_IDLE = 0;

/**
* The RecyclerView is currently being dragged by outside input such as user touch input.
* 目前正在被外部输入拖拽,比如用户触摸输入。
*/
public static final int SCROLL_STATE_DRAGGING = 1;
--------------------- 

以上是关于OnScrollListener的主要内容,如果未能解决你的问题,请参考以下文章