Android监听ScrollView控件的滑动起始和结束事件

本文介绍了在Android开发中如何监听ScrollView的滑动起始和结束事件。通过自定义ScrollView并重写onScrollChanged方法,利用lastScrollUpdate记录滑动开始时间,并设置延迟任务判断100ms内滑动状态,从而实现滑动结束的检测。
摘要由CSDN通过智能技术生成

目录


前言

最近还是有点忙的,所以博客写的少了,更主要的原因可能是最近在追《Android开发艺术探索》,估计看完还需要再几周的时间,所以……

记录工作中遇到的一个问题以及我的解决方案。最近需要在一个圆形的屏幕上为滚动控件增加一个弧形滑动侧边栏,其实就是ScrollBar。

ScrollBar的实现比较简单,自定义一个控件,确定好圆心,画圆弧即可。但是,在整合ScrollBar的时候,遇到了一些问题。这两天解决的就是如何监控ScrollView的滑动开始和结束,能够监测到ScrollView的滑动开始和结束事件之后,才能正确的控制ScrollBar的Visible和Gone。


实现方案


实现思路

  1. 需要自定义控件继承自ScrollView,重载ScrollView的onScrollChanged方法,这个方法在ScrollView每次滑动时都会被调用。因此,我们可以保存一个全局变量lastScrollUpdate,每次onScrollChanged方法被调用时,修改lastScrollUpdate值为System.currentTimeMillis(),用于记录当前滑动的起始时间。
  2. 同时,我们在onScrollChanged中开启一个延迟任务,作用就是在100ms(该时间可自由定制,时间越短,监听越精确,但是负载越高)之后&#x
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值