通向高级软件工程师之路—View自定义
2016-05-07 11:57
483 查看
1.View的滑动之Scroller
要实现View的平滑滑动,有一种方法是要借助Scroller来实现。
Scroller本身并不能实现View的平滑滑动,需要借助View的computeScroll方法才能完成弹性滑动的效果,它不断的让View重绘,每次重绘距离开始滑动都有一段时间间隔,通过这个时间间隔,Scroller会得出View当前的滑动位置(调用mScroller.computeScrollOffset()可以判断是否滑动结束,返回false时滑动结束,该方法的源码中是根据流逝的时间片和完成动画的百分比的乘积来计算一次滑动),知道了滑动位置就可以通过scrollTo方法来完成View的滑动。如此,View的每次重绘都会导致View进行小幅度的滑动,而多次的小幅度滑动就组成了弹性滑动,这就是Scroller的工作机制。
2.设计模式思考
Scroller的设计很是精妙,这个过程没用对View进行引用,内部也没有计时器。
要实现View的平滑滑动,有一种方法是要借助Scroller来实现。
Scroller本身并不能实现View的平滑滑动,需要借助View的computeScroll方法才能完成弹性滑动的效果,它不断的让View重绘,每次重绘距离开始滑动都有一段时间间隔,通过这个时间间隔,Scroller会得出View当前的滑动位置(调用mScroller.computeScrollOffset()可以判断是否滑动结束,返回false时滑动结束,该方法的源码中是根据流逝的时间片和完成动画的百分比的乘积来计算一次滑动),知道了滑动位置就可以通过scrollTo方法来完成View的滑动。如此,View的每次重绘都会导致View进行小幅度的滑动,而多次的小幅度滑动就组成了弹性滑动,这就是Scroller的工作机制。
2.设计模式思考
Scroller的设计很是精妙,这个过程没用对View进行引用,内部也没有计时器。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories