监听ScrollView滚动到顶部或者底部做相关事件拦截

在实际应用开发中,遇到一个需求,页面滑动到底部的时候,自动切换到下一个页面;所以想到使用Scrollview,网上有比较好的自定义SmartScrollvew;大家可以直接复制代码拿来使用,网址如下:Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)

本以为问题会得到有效解决:(滑动到底部切换到下一页,滑动到顶部切换到上一页)

但是,有个问题就是每次滑动到顶部(竟然切换到下一页)

mSmartScrollview.setScanScrollChangedListener(newSmartScrollview.ISmartScrollChangedListener() {

@Override

public voidonScrolledToBottom() {

if(mSmartScrollview.isScrolledToBottom()) {//判断是否是在底部

//TODO 滑到底部的操作

}}

@Override

public voidonScrolledToTop() {

if(mSmartScrollview.isScrolledToTop()) {//判断是否是在顶部

//TODO 滑到顶部的操作

}}

}});

这是因为向上滑动的时候scrollY会变成负数,clampedY也会一瞬间成为true

于是我对方法onOverScrolled(进行了修正

下面对OnScrollchanged()方法进行解析下:

Scrollview在滑动过程中会不断的调用onscrollChanged方法通过判断前后位置就可以对Scrollview做下一步的操作

@Override

protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX,

boolean clampedY) {

// TODO Auto-generated method stub

super.onOverScrolled(scrollX, scrollY, clampedX, clampedY);

}

onOverScrolled方法也是有四个参数 第一个参数为距离远点的X轴的距离

第二个参数为距离原点的Y轴的距离

第三个参数当ScrollView滑动到左侧边界的时候值为true

第四个参数当ScrollView滑动到下边界的时候值为true

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,235评论 25 709
  • 那些藏匿的刀刃 在时间一复一日的轮回中 反复切割着你身体的皮肉 在幻觉式的磨折中 你分不清哪一种是真实 哪一种是虚...
    小益虫阅读 1,652评论 0 0
  • 《岛上书店》里穿插着许多作品的简介,看到后面才知道,原来是AJ给玛雅留下的书单。 艾丽丝岛上每个人都有自己的读书偏...
    左三边阅读 2,713评论 0 0
  • 晓珂是个有情怀的男孩儿。 认识晓珂,快两年了。因为一个群(诗友交流群),我在群里唱歌,晓珂加了我qq。那时的加友密...
    花满栅拦阅读 4,223评论 0 2

友情链接更多精彩内容