1.OnScrollListener顾名思义就是AdapterView的滑动的监听事件
2.实现OnScrollListener接口,就必须实现他的两个抽象方法<onScrollStateChanged和onScroll
<1>onScrollStateChanged就是当AdapterView的滑动状态改变的时候调用,注意:是由静止到滑动这样的状态改变的时候才会被调用
方法的签名:public void onScrollStateChanged(AbsListView view, int scrollState)
Parameters:view就是实现这个接口的AdapterView(ListView,GridView..)
scrollState是滑动的状态他里面有三个静态的常量 A SCROLL_STATE_IDLE==0(当改变成停止的状态)
B SCROLL_STATE_TOUCH_SCROLL==1(当状态改变成手指触摸mm第一次触摸屏幕的时候最先调用)
C SCROLL_STATE_FLING==2(当状态改变成滑动的)
<pre name="code" class="java">// 此功能可以让控件当滑动的时候隐藏,当停止滑动的时候显示出来控件
public void onScrollStateChanged(AbsListView view, int scrollState) {
// SCROLL_STATE_IDLE==0
// SCROLL_STATE_TOUCH_SCROLL==1
// SCROLL_STATE_FLING==2
if (scrollState == SCROLL_STATE_TOUCH_SCROLL) {
ObjectAnimator.ofFloat(mButton, "translationY", 0f, 100f)
.setDuration(500).start();
// mButton.setVisibility(View.GONE);
Log.i("MainActivity", "scrollState=" + "Button被隐藏");
} else if (scrollState == SCROLL_STATE_IDLE) {
ObjectAnimator.ofFloat(mButton, "translationY", 100f, 0f)
.setDuration(500).start();
}
}
<2>onScroll就是当AdapterView的滑动的时候调用的, 注意:这个方法一直会被调用
方法的签名:public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
Parameters:view就是AdapterView
firstVisibleItem在屏幕上的显示第一个item的,他的值就是在整个item中的position
visibleItemCount在屏幕上可见的item的总数
totalItemCount整个tem的总和