ScrollView监听停止滑动,判断是否滑到底部
2013-07-29 21:59
399 查看
监听停止滑动
本以为ScrollView和ListView一样有setOnScrollListener方法。想不到ScrollView竟然没有。那就只能通过手势触摸事件来判断了。当手离开屏幕时,开始往handler中不断发生消息,直至滑动停止。
判动是否滑到底部
在滑动停止的时候,通过ScrollView和Linearlayout(scrollview的子控件)的高度以及滑动的距离来判断。
PS:我的scrollview是横向的,所以使用的是x坐标和width。
本以为ScrollView和ListView一样有setOnScrollListener方法。想不到ScrollView竟然没有。那就只能通过手势触摸事件来判断了。当手离开屏幕时,开始往handler中不断发生消息,直至滑动停止。
判动是否滑到底部
在滑动停止的时候,通过ScrollView和Linearlayout(scrollview的子控件)的高度以及滑动的距离来判断。
PS:我的scrollview是横向的,所以使用的是x坐标和width。
scrollView.setOnTouchListener(new OnTouchListener() { private int lastY = 0; private int touchEventId = 0x1234; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); View scroller = (View) msg.obj; if (msg.what == touchEventId) { if (lastY == scroller.getScrollX()) { scrollerStop(scroller); } else { handler.sendMessageDelayed(handler.obtainMessage( touchEventId, scroller), 5); lastY = scroller.getScrollX(); } } } }; @Override public boolean onTouch(View v, MotionEvent event) { int eventAction = event.getAction(); int y = (int) event.getRawX(); lastY = 0; switch (eventAction) { case MotionEvent.ACTION_UP: if (lastY != y) { handler.sendMessageDelayed( handler.obtainMessage(touchEventId, v), 10); } break; default: break; } return false; } /**滑动停止后的响应 */ private void scrollStop(Object view) { if(cityLinLayout.getMeasuredWidth() <= (scrollView.getWidth() + scrollView.getScrollX()+5)){ /*** *滑动到底部的操作 */ } if(scrollView.getScrollX() < 0){ /*** *滑动到顶部的操作 */ } } }); }
相关文章推荐
- nestedScrollview 嵌套使用recyclerview判断滑动到底部 (嵌套滑动导致 不能使用recyclerview的onscrolled监听)
- Android中监听ScrollView滑动停止和滑动到底部
- Android - ScrollView 监听滑动停止,顶部还是底部?
- Android中监听ScrollView滑动停止和滑动到底部
- ScrollView监听是否滑动到底部
- ScrollView判断是否滑动到底部和顶部
- IOS 判断scrollView是否滑动到底部
- 判断ScrollView是否滑动到底部或顶部
- 监听scroollview、listview、gridview页面滑动,判断是否滑动到顶部以及底部
- ScrollView怎么判断是否滑动到了底部?
- Android中监听ScrollView滑动停止和滑动到底部
- ScrollView的滑动事件===判断是否滑到底部
- Android 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- 【Android】ListView监听上下滑动(设置滚动监听判断ListView的滚动方向同时获取屏幕高度、ListView实际高度,判断是否需要展示返回顶部按钮(具体逻辑请看代码--附有详细注释)。
- 通过重写OnScrollListener来监听RecyclerView是否滑动到底部
- RecyclerView横向滑动监听,判断是否滑动到了最后一个Item
- android ScrollView判断滑动到底部的两种方式
- Android 监听 ScrollView 滑动到最底部
- jquery判断页面是否滑动到最底部
- 判断scrollview是否滚动到了底部