Android 监听ScrollView时候滚动到了底部
2014-10-11 18:08
471 查看
package com.zy.tour.util.ui; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.LinearLayout; import android.widget.ScrollView; /** * @类名:BottomScrollView * @功能描述: 监听ScrollView时候滚动到底部 * @作者:XuanKe'Huang * @时间:2014-10-10 下午3:17:56 * @Copyright 2014 */ public class BottomScrollView extends ScrollView { private OnScrollToBottomListener onScrollToBottom; public BottomScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public BottomScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public BottomScrollView(Context context) { super(context); } /** * 方法名: setOnScrollToBottomLintener * * 功能描述:设置监听 * * @param listener * @param layout * ScrollView包含的Layout * @return void * * throws */ public void setOnScrollToBottomLintener(OnScrollToBottomListener listener, LinearLayout layout) { this.layout = layout; onScrollToBottom = listener; } public interface OnScrollToBottomListener { // 当前滑动的距离 public void onScrollBottomListener(int top); // 手指离开了屏幕 public void FingerUpLinstener(boolean moveDistance); } private LinearLayout layout; private int startY = 0;// 开始点 private int moveDistance = 0;// 移动的距离 @Override public boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN:// 手指按下 startY = (int) ev.getRawY(); break; case MotionEvent.ACTION_MOVE:// 手指移动 moveDistance = (int) (startY - ev.getRawY()); if (this.getScrollY() + this.getHeight() >= layout.getHeight() && moveDistance > 50) { onScrollToBottom.onScrollBottomListener(moveDistance); } break; case MotionEvent.ACTION_UP:// 手指离开 if (this.getScrollY() + this.getHeight() >= layout.getHeight()) { if (moveDistance > 100) { onScrollToBottom.FingerUpLinstener(true); } else { onScrollToBottom.FingerUpLinstener(false); } } startY = 0; break; default: break; } return super.dispatchTouchEvent(ev); } }
相关文章推荐
- 当ScrollView的滚动到底部或右边的时候监听
- Android 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- Android中如何消除ScrollView滚动到顶部或底部时的边框
- Android中监听ScrollView滑动停止和滑动到底部
- Android对ScrollView滚动监听
- Android 控制ScrollView滚动到底部
- android ListView滚动条监听判断滚动到底部还是顶部
- android ListView监听滚动条滚动到底部时继续加载
- Android - 小功能 - 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android中实现ScrollView的滚动事件监听
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android开发之旅一 解决ScrollView自动滚动到底部问题
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android - 保持在底部的按钮栏,上面是滚动的ScrollView
- Android 控制ScrollView滚动到底部
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android 中实现 ScrollView 的滚动事件监听
- Android监听ScrollView滑动到顶端和底部
- Android 控制ScrollView滚动到底部