为什么感觉现在CSDN的博客编辑器也有点叛逆呢,总是不听话,看不到鼠标的位置,还有经常粘贴一些外面的文章进来的时候总是很难编辑。好了,不扯远了,不管难不难都要写吖。呵呵。
学习和使用Scroller是在很早之前了,那时候学习和使用她我只能说还处于模糊期,因为我当时是带着神奇的眼光去审视这个类的,所以当时总无法理解。只是知道个大概的意思然后知道怎么使用(糊涂的用),现在终于明白了(什么也无法说明,只能说明我很笨,T_T),所以很想跟大家来解释一下,一方面加深自己的理解,另一方面服务那些仍然无法理解她的大众。
大家可以先看其他前辈的关于Scroller的文章,不管是API还是使用示例。
1.android 中文 api (64) —— Scroller
2.Android Scroller简单用法
3.Android Scroller类的详细分析
4.Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解 (强烈推荐军哥的博客,大家多跟他学习学习)
就不多推荐了,其他的大家可以Google或Baidu一下,很多,多看几篇理论之后一定要亲自动手去写代码实践,更改写参数然后运行看下效果,那样最好了,能够立刻明白是参数都是怎么个意思。
现在来说下我自己的理解:
其实很简单,Scroller就是一个“计算器”,是什么计算器呢,她是帮我们计算从你给定的点(咱们编程说的点当然是坐标了哈)到你需要滚动到的目标点在给定时间内每次的偏移量,我举个最简单的例子,假如我们想从A(0, 0)点花100毫秒的时间移动到B(200,100)点,则Scroller会帮我们算好,之后的每1毫秒将在X方向上移动2个像素,Y方向上移动1个像素,当然正值或者负值代表的方向嘛,这里不说了,大家直接运行,看看效果即可知道。我们只需要调用mScroller.computeScrollOffset()即可判断Scroller滚动到目标位置了没,返回true说明还没有,这时候我们可以调用mScroller.getCurrX(), mScroller.getCurrY()获取我们最新的X,Y轴的位置,其他相关的API大家可以看android 中文 api (64) —— Scroller 一般我们用的最好就是上面我说的三个了,一般在容器类的computeScroll()方法中这么用。
@Override
public void computeScroll() {
if (mScroller.computeScrollOffset()) {
// mScrollX = mScroller.getCurrX();// Log.i(TAG. "mScrollX is "+mScrollX);
// 记得这里千万不要为了做打印工作调用一次getCurrX得到mScrollX然后在下面的scrollTo再次调用getCurrX取值,每次取值Scroller都会计算一次,也就是时间向后推移一毫秒。
scrollTo(mScroller.getCurrX(), 0);
postInvalidate();
}}
我再次强调一遍,其实Scroller就是充当一个距离计算器,没有什么神奇的,就是一堆的数学运算。
详细解决方案
Android温习之Scroller
热度:56 发布时间:2016-04-28 08:12:20.0
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android RadioButton如何设置默认选中
- android 怎么重新设置锚点
- android 图片对象获取的有关问题
- android 关于服务连接的疑义
- android 怎么实现对view的放大和缩小
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java) 中文乱码的有关问题
- android 动态设立控件高度
- Android test project 编译方法
- android 4.03启动出错,显示"Encryption Unsuccessful"该如何解决
- Android 下面的listView的动态效果怎么实现的?求源代码,多谢
- Android?Palm?Symbian?Windows Mobile?学哪个有“钱图”?解决方案
- Android 开发语言,该怎么解决
- 单个人去做手机开发选什么平台好?android,iphone?解决办法
- Android 虚拟机崩溃的有关问题
- 想学学移动平台的开发 android 还是windows phone7好啊该怎么处理
- Android 上的如何读写设备文件
- Android 2.2 API 汉语文档系列(3) —— AccessibilityService
- 【先睹为快】ArcGIS Android SDK上一版本新特性
- ArcGIS for Android app v2.0.4公布
- android.hardware.USB种介绍
- android linux开发 在线电子书解决方案