private boolean scrollFlag = false;// 标记是否滑动
private int lastVisibleItemPosition = 0;// 标记上次滑动位置
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case SCROLL_STATE_IDLE://停止滚动时
scrollFlag = false;
//判断滚动到底部
if (listView.getLastVisiblePosition() == (listView.getCount() - 1)) {
}
//判断滚动到顶部
if (listView.getFirstVisiblePosition() == 0) {
}
break;
case SCROLL_STATE_TOUCH_SCROLL://滚动时
scrollFlag = true;
break;
case SCROLL_STATE_FLING://惯性滚动时
scrollFlag = false;
break;
}
}
/**
* firstVisibleItem:当前能看见的第一个列表项ID(从0开始)
* visibleItemCount:当前能看见的列表项个数(小半个也算)
* totalItemCount:列表项共数
*/
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if (scrollFlag) {
if (firstVisibleItem > lastVisibleItemPosition) {//上滑
Log.i(TAG, "onScroll: -------->up");
mListener.onScrollUp();
} else if (firstVisibleItem < lastVisibleItemPosition) {//下滑
Log.i(TAG, "onScroll: -------->down");
mListener.onScrollDown();
} else {
return;
}
lastVisibleItemPosition = firstVisibleItem;
}
}
});
判断ListView的滑动方向
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 判断listview的滑动方向,通常的做法是给listview设置滑动监听器: 根据firstVisibleIte...
- 最近在做毕设的时候,一个页面最外面套了一个 ScrollView,内部有多个 ListView,然后发现在相同方向...
- 将composer的bin目录放到PATH环境变量中使用composer global config bin-di...