Android 监听 ScrollView 滑动到最底部。
2015-03-21 09:37
459 查看
做产品时,有一个需求,需要监听ScrollView滑动到最底部。在网上找了些方法,都有这样或那样的问题,要不就是监听不精确,
要不就是重复监听,那些代码没有产品化,很不可靠。
经过自己试验,终于找到了个能够精确监听的实现方法。代码如下:
用到这段代码的产品也测试上线了,没有Bug。
Android SDK 中类似于这样的不完美数不胜数,比如onTouch事件的传递,onMeasure方法的调用,都是很不精确,
需要自己再优化的,没办法,无力吐槽。
要不就是重复监听,那些代码没有产品化,很不可靠。
经过自己试验,终于找到了个能够精确监听的实现方法。代码如下:
public class ScrollBottomScrollView extends ScrollView { private OnScrollBottomListener _listener; private int _calCount; public interface OnScrollBottomListener { void srollToBottom(); } public void registerOnScrollViewScrollToBottom(OnScrollBottomListener l) { _listener = l; } public void unRegisterOnScrollViewScrollToBottom() { _listener = null; } public ScrollBottomScrollView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { View view = this.getChildAt(0); if (this.getHeight() + this.getScrollY() == view.getHeight()) { _calCount++; if (_calCount == 1) { if (_listener != null) { _listener.srollToBottom(); } } } else { _calCount = 0; } } }
用到这段代码的产品也测试上线了,没有Bug。
Android SDK 中类似于这样的不完美数不胜数,比如onTouch事件的传递,onMeasure方法的调用,都是很不精确,
需要自己再优化的,没办法,无力吐槽。
相关文章推荐
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- Android 监听 ScrollView 滑动到最底部
- Android 监听 ScrollView 滑动到最底部,实现阅读协议,滑动到最低端显示已阅读按钮(2017版本)
- Android中监听ScrollView滑动停止和滑动到底部
- Android控件:ScrollView的使用,滑动到底部的监听
- Android中监听ScrollView滑动停止和滑动到底部
- Android监听ScrollView滑动到顶端和底部
- Android中监听ScrollView滑动停止和滑动到底部
- Android - ScrollView 监听滑动停止,顶部还是底部?
- Android监听ScrollView或NestedScrollView滑动到顶部和底部
- Android监听ScrollView滑动到顶端和底部
- Android 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- Android ScrollView监听滑动到顶部和底部的两种方式
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- Android监听ScrollView滑动到顶端和底部
- [置顶] Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- 怎么判断android中ScrollView滑动到了最底部?
- Android开发--------------WebView(二)之WebView的滑动底部顶部监听,加载进度条等设置
- Android中实现监听ScrollView滑动事件
- 【ScrollView】Android ScrollView监听滑动事件