Android--判断listview上下滑动的方法
2017-02-09 10:27
316 查看
1 elv_music_res_fragment.setOnScrollListener(new AbsListView.OnScrollListener() { 2 private int mLastFirstPostion = 0; 3 private int mLastFirstTop = 0; 4 private int touchSlop = ViewConfiguration.get(getActivity()).getScaledTouchSlop(); 5 6 @Override 7 public void onScrollStateChanged(AbsListView view, int scrollState) { 8 9 } 10 11 @Override 12 public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 13 int currentTop; 14 15 View firstChildView = absListView.getChildAt(0); 16 if (firstChildView != null) { 17 currentTop = absListView.getChildAt(0).getTop(); 18 } else { 19 //ListView初始化的时候会回调onScroll方法,此时getChildAt(0)仍是为空的 20 return; 21 } 22 //判断上次可见的第一个位置和这次可见的第一个位置 23 if (firstVisibleItem != mLastFirstPostion) { 24 //不是同一个位置 25 if (firstVisibleItem > mLastFirstPostion) { 26 // 下 27 if (rg_container_resFragment.getVisibility() != View.GONE) { 28 rg_container_resFragment.setVisibility(View.GONE); 29 } 30 } else { 31 // 上 32 if (rg_container_resFragment.getVisibility() != View.VISIBLE) { 33 rg_container_resFragment.setVisibility(View.VISIBLE); 34 } 35 } 36 mLastFirstTop = currentTop; 37 } else { 38 //是同一个位置 39 if (Math.abs(currentTop - mLastFirstTop) > touchSlop) { 40 //避免动作执行太频繁或误触,加入touchSlop判断,具体值可进行调整 41 if (currentTop > mLastFirstTop) { 42 // 上 43 if (rg_container_resFragment.getVisibility() != View.VISIBLE) { 44 rg_container_resFragment.setVisibility(View.VISIBLE); 45 } 46 } else if (currentTop < mLastFirstTop) { 47 // 下 48 if (rg_container_resFragment.getVisibility() != View.GONE) { 49 rg_container_resFragment.setVisibility(View.GONE); 50 } 51 } 52 mLastFirstTop = currentTop; 53 } 54 } 55 mLastFirstPostion = firstVisibleItem; 56 } 57 });
相关文章推荐
- Android中判断listview是否滑动到顶部和底部方法
- 【Android】ListView监听上下滑动(判断是否显示返回顶部按钮
- 【Android】ListView监听上下滑动(设置滚动监听判断ListView的滚动方向同时获取屏幕高度、ListView实际高度,判断是否需要展示返回顶部按钮(具体逻辑请看代码--附有详细注释)。
- Android 记录ListView滚动的位置的三种方法及判断是否滑动到底部
- Android ListView监听上下滑动(判断是否显示返回顶部按钮)
- Android中判断listview是否滑动到顶部和底部的实现方法
- Android ListView监听上下滑动(判断是否显示返回顶部按钮)
- Android】ListView监听上下滑动(判断是否显示返回顶部按钮)
- 【Android】ListView监听上下滑动(判断是否显示返回顶部按钮)
- Android下ListView上下滑动背景变黑
- Android下ListView上下滑动背景变黑
- android listview或者ScrollView 去除顶部下拉时的蓝底或者上下滑动顶部和底部的虚化
- Android OnGestureListener 判断手势上下滑动
- android ListView控件 去上下滑动阴影 选中背景黄色
- Android下ListView上下滑动背景颜色改变
- Android:解决ListView按下后上下滑动背景全部变黑的问题
- android 滑动出现删除按钮 - swipelistview 入口方法以及简单布局说明
- Android Listview分组特效:滑动分组标题当前固定,并随内容滑动(andrroid原生电话本实现方法)
- android ListView常见问题解决方法(滚动背景变黑,去除滑动时阴影,拖动时Item图片不显示)
- Android Xlistview的源码浅度分析 监听ListView上下滑动 以及是否到顶和底部