`

2013.06.26——— android 关于Scroller

阅读更多
2013.06.26——— android 关于Scroller
参考:http://blog.csdn.net/gemmem/article/details/7321910
http://ipjmc.iteye.com/blog/1615828
http://blog.csdn.net/c_weibin/article/details/7438323

1、Scroller并不会导致view滚动
Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeScroll(),完成实际的滚动。

2、
View中computeScroll是一个空函数,当ViewGroup会对它的每个孩子调用drawChild(),而drawChild()会调用每个孩子的computScroll方法,所以经常见到 调用了Scoller的startScroll方法后 会调用invalidate(),并且computeScroll里面 也会调用 postInvalidate();

3、
computeScrollOffset()方法 当调用startScroll就返回为true了 直到动画执行完了,也就是滚动到了startScroll里面设定的位置

4、
startScroll()函数只是对它的一些成员变量做一些设置,这个设置的唯一效果就是导致mScroller.computeScrollOffset()    返回true。

5、
按我的理解 computeScrollOffset方法 里面会根据位置及持续时间来计算CurrX和CurrY的值,如果==FinalX和FinalY,就返回false,如果不相等 就返回false,然后postInvalidate(),一直调用,直到==,然后动画结束 不滚动了







分享到:
评论

相关推荐

    android scroller学习demo

    view.scrollTo(scroller.getCurrX(), scroller.getCurrY()); postInvalidate(); // 重新绘制 } ``` 为了实现侧滑删除效果,我们还需要监听滑动状态的变化,比如在`onScrollChanged()`中判断当前是否处于滑动删除...

    android Scroller使用小例子

    scroller.startScroll(startX, startY, dx, dy, duration); ``` 在View的`computeScroll()`方法中,我们需要检查`Scroller`是否还在滚动,并获取当前的滚动偏移量。`computeScroll()`通常在`onDraw()`或`onLayout()...

    Android Scroller完全解析

    scrollTo(scroller.getCurrX(), scroller.getCurrY()); // 继续调用computeScroll(),直到Scroller滚动结束 postInvalidate(); } } ``` ### 4. 自定义插值器 `Scroller`与`Interpolator`配合可以创建各种滚动...

    xlistview代码

    import android.widget.Scroller; import android.widget.TextView; import com.example.androidtest.R; public class XListView extends ListView implements OnScrollListener { private float mLastY = -1; /...

    Android之Scroller(滑动)完全解析

    `Scroller.startScroll()`用于执行线性滚动,而`Scroller.fling()`则用于执行抛掷(fling)动作,即快速滑动后产生的惯性滚动。`fling()`需要设置初始速度,系统会根据速度和摩擦系数自动计算滚动距离和时间。 ### ...

    jquery.imageScroller适合区域内拖拽查看长途特效

    jQuery插件——jquery.imageScroller.js 支持在正方形区域内查看比较长的图片效果 左下角有一个缩略图效果,拖拽缩略图的同时,大图对应比例的部分也会展示出来 效果相当不错   使用方法: ...

    Android 使用Scroller自动滚动第二种实现

    scroller.startScroll(startX, startY, dx, dy, duration); ``` 3. **重写computeScroll()**: 在自定义View中重写`computeScroll()`方法,检查Scroller是否还在滚动,并根据Scroller提供的坐标更新View的位置。 ``...

    安卓Android源码——安卓Android Launcher 桌面分页滑动代码.rar

    以上就是关于“安卓Android源码——安卓Android Launcher 桌面分页滑动代码”这个主题的一些关键知识点。通过深入理解这些概念和技术,开发者可以更好地理解和定制自己的启动器,提供独特的用户体验。

    博客《ListView滑动删除实现之四——Scroller类与listview缓慢滑动》对应源码

    博客《ListView滑动删除实现之四——Scroller类与listview缓慢滑动》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/45317951

    Scroller.2.0.0.0_Power BI 可视化视觉对象和demo.pbix

    Scroller.2.0.0.0_Power BI 可视化视觉对象和demo

    Scroller.2.0.0.0_Power BI 可视化视觉对象和demo.pbiviz

    Scroller.2.0.0.0_Power BI 可视化视觉对象和demo

    Scroller简单例子

    scroller.fling(startX, startY, velocityX, velocityY, minScrollX, maxScrollX, minScrollY, maxScrollY); ``` 3. **isFinished()**: 检查Scroller是否已经完成滚动。如果滚动已完成,返回true;否则返回false...

    Android-touch-event.rar_android touch_android 翻页_event

    Android提供了Scroller类和GestureDetector类来帮助我们实现这一功能。Scroller是一个帮助进行平滑滚动的辅助类,而GestureDetector则可以识别常见的手势,如滑动(Swipe)。 1. Scroller:在ACTION_DOWN事件中启动...

    惯性滑动切换(Fling操作)源码

    如果还在,我们可以调用`Scroller.computeScrollOffset()`获取当前的滚动位置,然后更新视图。这个过程通常在`View`的`computeScroll()`方法中处理。 4. **动画循环**: 当`Scroller`的动画结束时,`computeScroll...

    scroller.v

    scroller.v

    Scroller.1.0.9_Power BI视觉模块插件.pbiviz

    Scroller.1.0.9_Power BI视觉模块插件

    列表数据滚动 Scroller.zip

    本项目“Scroller.zip”聚焦于实现一个具有特殊滚动效果的列表,使用了Objective-C语言。在这个项目中,核心组件是`UIScrollView`的一个子类——`Scroller`,它扩展了基本的滚动功能,提供了更加吸引人的用户体验。 ...

    安卓Android源码——安卓Android Launcher 桌面分页滑动代码.zip

    这份“安卓Android源码——安卓Android Launcher 桌面分页滑动代码.zip”包含的源码着重解析了如何实现桌面分页滑动的逻辑。现在我们将深入探讨这一主题,讲解其中的关键知识点。 首先,我们来看看Android Launcher...

    安卓Android源码——PinBall.zip

    《安卓Android源码——PinBall.zip》是一款基于Android平台的游戏源码,主要涵盖了Android应用程序开发中的游戏编程技术。通过对这份源码的学习,开发者可以深入了解Android游戏的架构设计、图形渲染、事件处理以及...

    安卓Android源码——SwitchButton.zip

    这个压缩包“安卓Android源码——SwitchButton.zip”很可能包含了一个自定义实现的SwitchButton源代码,用于扩展或自定义Android原生Switch的功能。下面将详细探讨SwitchButton在Android开发中的应用、原理以及可能...

Global site tag (gtag.js) - Google Analytics