android listview判断上滑还是下滑
2016-05-25 16:27
323 查看
android 中listview是比较常见一种控件,各路大牛折腾listview,上拉更过,下拉刷新等动画效果,但是在最近的APP开发中只需要知道listview是上滑还是下滑。
实现该功能需要用到listview的setOnScrollListener这个监听器。
private boolean scrollFlag = false;// 标记是否滑动
private int lastVisibleItemPosition;// 标记上次滑动位置
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
if (scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
scrollFlag = true;
} else {
scrollFlag = false;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
Log.d("dc", "firstVisibleItem::" + firstVisibleItem + ":visibleItemCount:" + visibleItemCount + ":totalItemCount:" + totalItemCount);
if (scrollFlag) {
if (firstVisibleItem > lastVisibleItemPosition) {
Log.d("dc", "上滑");
}
if (firstVisibleItem < lastVisibleItemPosition) {
Log.d("dc", "下滑");
}
if (firstVisibleItem == lastVisibleItemPosition) {
return;
}
lastVisibleItemPosition = firstVisibleItem;
}
}
这是我的方法,如果有更好的方法欢迎提醒!
实现该功能需要用到listview的setOnScrollListener这个监听器。
private boolean scrollFlag = false;// 标记是否滑动
private int lastVisibleItemPosition;// 标记上次滑动位置
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
if (scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
scrollFlag = true;
} else {
scrollFlag = false;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
Log.d("dc", "firstVisibleItem::" + firstVisibleItem + ":visibleItemCount:" + visibleItemCount + ":totalItemCount:" + totalItemCount);
if (scrollFlag) {
if (firstVisibleItem > lastVisibleItemPosition) {
Log.d("dc", "上滑");
}
if (firstVisibleItem < lastVisibleItemPosition) {
Log.d("dc", "下滑");
}
if (firstVisibleItem == lastVisibleItemPosition) {
return;
}
lastVisibleItemPosition = firstVisibleItem;
}
}
这是我的方法,如果有更好的方法欢迎提醒!
相关文章推荐
- 打造浪漫的Android表白程序
- Android静默安装实现方案,秒装(测试没有通过)和智能安装(实现)功能
- Android 获取证书指纹MD5,SHA1,SHA256
- Android TabHost组件使用方法详解
- android EditText插入字符串到光标所在位置(表情开发用到,记下)
- Android中Serializable和Parcelable序列化对象详解
- Android学习路线指南
- Android string.xml文件中整型和string型代替以及特殊转义符
- Android开源项目分类汇总
- android自定义style主题样式
- android 更新歌曲播放进度条seekbar的三种方法
- adb logcat命令查看并过滤android输出log
- Android中自定义checkbox样式
- Android学习笔记数据持久化存储
- Android中运行的错误:java.lang.UnsatisfiedLinkError
- Android开源项目分类汇总
- Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRID
- Android学习笔记四大组件之BroadcastReceiver
- Android studio中调出快捷键,快速try catch包括代码块
- Android 仿通讯录A-Z侧边索引查询 LetterListView androidstudio