首页
学习
活动
专区
圈层
工具
发布

Scroller简介

Scroller简介 在SlidingMenu项目中为了实现控件的滑动,需要用到Scroller类来实现缓慢的滑动过程,至于有人说View类可以直接调用scrollTo()方法, 这里scrollTo(...查看Scroller源码 public class Scroller { //... } 发现Scroller类并不是View的子类,只是一个普通的类,这个类中封装了滚动的操作,记录了滚动的位置以及时间等...从而我们可以知道调用Scroller.startScroll()方法并没有真正的移动,而是设置了一些数据。 Scroller.startScoll()是如何与View的移动相关联呢?...Scroller} * object. */ public void computeScroll() { } 通过注释我们可以看到该方法又父类调用根据滚动的值去更新View,在使用Scroller...Scroller.startScroll()方法被调用后会储存要滚动的起始位置、结束位置、持续时间。

68990

深入解析Scroller滚动原理

在书中的相关章节有介绍用Scroller来实现平滑滚动的效果。而我们今天就来探究一下为什么Scroller能够实现平滑滚动。...首先我们先来看一下Scroller的用法,基本可概括为“三部曲”: 创建一个Scroller对象,一般在View的构造器中创建: public ScrollViewGroup(Context context...根据“三部曲”中第一部,先来看看Scroller的构造器: public Scroller(Context context, Interpolator interpolator, boolean flywheel...的滑动没有结束;若返回false说明Scroller的滑动结束了。...其实Scroller的原理还是比较通俗易懂的。我们再来理清一下思路,以一张图的形式来终结今天的Scroller解析: Scroller的原理图 好了,如果有什么问题可以在下面留言。 Goodbye!

84510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发之Scroller

    什么是Scroller?...翻译为弹性滑动对象,可以实现View的弹性滑动动画,与Scroller相关的就是大家比较熟悉的scrollTo和scrollBy方法,可以用来实现View的滑动,但是它们的缺点就是瞬间完成,无法很平滑地过渡...,而Scroller可以帮助我们很平滑地进行弹性滑动。...使用 一般使用在自定义View中较多,可以实现View的弹性滑动效果 1、自定义一个View,注释很详细 /** * 自定义View 里面有个Scroller 它能实现非常平滑的滚动效果 就像动画一样...Scroller.gif 注意点 Scroller本身并不能实现View的滑动,本质还是让View重绘,重绘中调用View的computeScroll方法,在该方法中进行滑动方法的具体实现,然后再调用重绘函数

    82850

    weex-20-scroller组件

    本节学习目标 掌握scroller组件的使用 概念 scroller> 是一个竖直的,可以容纳多个排成一列的子组件的滚动器。...如果子组件的总高度高于其本身,那么所有的子组件都可滚动 使用途径 如果我们想要根组件也可以滑动的效果,就可以使用scroller>组件 水平滚动的视图 多个滚动视图嵌套 注意事项 1.滑动组件默认方向为垂直...2.支持任意类型的 Weex 组件作为其子组件(除了cell组件,它只能用于list) 3.可以使用组件 和 组件 4.垂直时,当子标签的高度没有超过scroller...scroller class="scroller" show-scrollbar='true' scroll-direction='horizontal' > 注意 1.如果你给scroller...loadmore 事件 scroller class="scroller" show-scrollbar='true' scroll-direction='vertical' @loadmore="

    1.3K20

    Android Scroller完全解析,关于Scroller你所需知道的一切

    ,带你从源码的角度彻底理解,但是对于Scroller我还从来没有讲过,因此本篇文章我们就先来学习一下Scroller的用法,并结合事件分发和Scroller来实现一个简易版的ViewPager。...Scroller是一个专门用于处理滚动效果的工具类,可能在大多数情况下,我们直接使用Scroller的场景并不多,但是很多大家所熟知的控件在内部都是使用Scroller来实现的,如ViewPager、ListView...Scroller的基本用法其实还是比较简单的,主要可以分为以下几个步骤: 1. 创建Scroller的实例 2. 调用startScroll()方法来初始化滚动数据并刷新界面 3....首先在ScrollerLayout的构造函数里面我们进行了上述步骤中的第一步操作,即创建Scroller的实例,由于Scroller的实例只需创建一次,因此我们把它放到构造函数里面执行。...其实借助Scroller,很多漂亮的滚动效果都可以轻松完成,比如实现图片轮播之类的特效。

    1.7K60

    onTouchEvent(二) 使用Scroller实现黏性滑动的ScrollView

    上一篇博文onTouchEvent(一) 你所必须知道的坐标详解介绍了onTouchEvent()手势控制相关的一些坐标概念,这篇文章结合上一篇内容加上Scroller实现一个简单的带黏性滑动的ScrollView...4这是配合Scroller使用的一个函数。 首先介绍下Scroller这个类,这个类是一个工具,并不是实际UI操作。...下面是一个不使用Scroller的Demo。 ? 差别很明显。 ? onMeasure()没什么好说的,遍历子view,测量子view。 onLayout ?...如果看不懂其中坐标操作等请参考前一篇文章 onTouchEvent(一) 你所必须知道的坐标详解 ? ? ? ? 该说明的都在注释里标明了,毕竟后面解释的话来回滚动很麻烦。...既然手动调用invalidate()就会重绘,也就会调用到computeScroll(),里面再判断Scroller的差值计算是否完毕,未完毕则继续移动就这样循环直至偏移到最终坐标。

    1.1K30

    Android之自定义View:侧滑删除

    本篇要讲的是自定义view:侧滑删除,其实为了今天的控件需要了解一下自定义view的知识,有View的测量、布局、Android的touch事件的传递、Scroller三个知识点,之前公众号也发过相关知识的文章...Scorller的使用详解 Android Touch事件分发机制详解 Android之View的诞生之谜 Android之自定义View之Measure Android之自定义View之Layout...我们这次要实现的控件叫做EasySwipeMenuLayout,内部主要分为三部分: 内容区域 左边菜单按钮区域 右边菜单按钮区域 当我们向右滑时,通过scroller将左边按钮区域滚动出来...当我们向左滑时,通过scroller将右边按钮区域滚动出来 实现的思路滤清了,那么我们就开始动手吧 具体实现 首先,网上类似的轮子有很多,但为什么我们还要自己写一下呢,当然是为了学习,所谓知其然而知其所以然也...其实很简单 肯定是获取我们自定义的属性了,因为我们要根据用户配置的属性进行处理嘛 前面也说了,侧滑用到了scroller,我们的scroller对象的初始化也可以放在这里 一些辅助类的初始化 ? ?

    1.3K30

    鸿蒙开发实战案例:纵向横向列表联动案例

    效果图预览使用说明纵向划动列表,内容和行标题保持联动横向划动列表,内容和列标题保持联动实现思路本示例通过将每一个List绑定不同的Scroller对象,通过控制Scroller对象的滚动偏移量,使同一方向滚动的...Scroller = new Scroller(); // 底部列表左侧(行标题)的滚动控制器private bottomRightListScroller: Scroller = new Scroller...Scroller对象。...数组,与左侧标题一一对应 showData.sub.forEach(element => { let scroller: Scroller = new Scroller();...【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......底部右侧列表绑定

    15610

    不再迷惑,也许之前你从未真正懂得 Scroller 及滑动机制

    Scroller 出场 文章讲到这里的时候,Scroller 才出现,但我相信读者已经对迎接它做好了准备。 ? Scroller 只是一个普通的类,它封装了滚动事件。...Scroller scroller = new Scroller(context); scroller.startScroll(0,0,100,100); boolean condition = true...上面的示例,已经介绍了 Scroller 的基本用法,现在是时候对 Scroller 进行全面的分析了。 Scroller 全面介绍 Scroller 的创建 Scroller 有三个构造方法。...(1.2f); Scroller mScroller = new Scroller(context,interpolator); Scroller 启动 Scroller 启动动画通过调用这个两个方法中的一个...大家,一定想亲自尝试 Scroller 的 fling 效果。接下来,我们就来一次 Scroller 的完整实战。

    1.8K10
    领券