一般判断ListView方向的方法大致是:ListView设置滑动监听器:
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount{
//根据firstVisibleItem的在滑动前后的不同值,判断滑动方向。
}
});
但这样有一个问题,如果ListView只滑动一小段距离(不超过一个item的高度),firstVisibleItem是保持不变的啊!这样就判断不了是上滑还是下滑!所以这样做是有缺陷的!
但今天在使用一个控件时。偶然看了其源代码,发现了其中有对ListView方向更全面的判断方法,其实也很简单,代码如下:
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.AbsListView;
import andro