目录
前言
最近还是有点忙的,所以博客写的少了,更主要的原因可能是最近在追《Android开发艺术探索》,估计看完还需要再几周的时间,所以……
记录工作中遇到的一个问题以及我的解决方案。最近需要在一个圆形的屏幕上为滚动控件增加一个弧形滑动侧边栏,其实就是ScrollBar。
ScrollBar的实现比较简单,自定义一个控件,确定好圆心,画圆弧即可。但是,在整合ScrollBar的时候,遇到了一些问题。这两天解决的就是如何监控ScrollView的滑动开始和结束,能够监测到ScrollView的滑动开始和结束事件之后,才能正确的控制ScrollBar的Visible和Gone。
实现方案
实现思路
- 需要自定义控件继承自ScrollView,重载ScrollView的onScrollChanged方法,这个方法在ScrollView每次滑动时都会被调用。因此,我们可以保存一个全局变量lastScrollUpdate,每次onScrollChanged方法被调用时,修改lastScrollUpdate值为System.currentTimeMillis(),用于记录当前滑动的起始时间。
- 同时,我们在onScrollChanged中开启一个延迟任务,作用就是在100ms(该时间可自由定制,时间越短,监听越精确,但是负载越高)之后&#x