文档章节

源码学习:Scroller的API

k
 kim366
发布于 2016/05/13 19:11
字数 382
阅读 4
收藏 0
源码学习:Scroller的API

在View类中
    /**
     * Called by a parent to request that a child update its values for mScrollX
     * and mScrollY if necessary. This will typically be done if the child is
     * animating a scroll using a { @link android.widget.Scroller Scroller}
     * object.
     */
      public void computeScroll() {
     }

     computeScroll:主要功能是计算拖动的位移量、更新背景、设置要显示的屏幕(setCurrentScreen(mCurrentScreen);)。

     重写computeScroll()的原因

     调用startScroll()是不会有滚动效果的,只有在computeScroll()获取滚动情况,做出滚动的响应computeScroll在父控件执行drawChild时,会调用这个方法


Scroller类中
    /**
     * Start scrolling by providing a starting point and the distance to travel.
     * The scroll will use the default value of 250 milliseconds for the
     * duration.
     *
     * @param startX Starting horizontal scroll offset in pixels. Positive
     * numbers will scroll the content to the left.
     * @param startY Starting vertical scroll offset in pixels. Positive numbers
     * will scroll the content up.
     * @param dx Horizontal distance to travel. Positive numbers will scroll the
     * content to the left.
     * @param dy Vertical distance to travel. Positive numbers will scroll the
     * content up.
     */
    public void startScroll(int startX, int startY, int dx, int dy) {
         startScroll(startX, startY, dx, dy, DEFAULT_DURATION);
    }

    /**
     * Start scrolling by providing a starting point, the distance to travel,
     * and the duration of the scroll.
     *
     * @param startX Starting horizontal scroll offset in pixels. Positive
     * numbers will scroll the content to the left.
     * @param startY Starting vertical scroll offset in pixels. Positive numbers
     * will scroll the content up.
     * @param dx Horizontal distance to travel. Positive numbers will scroll the
     * content to the left.
     * @param dy Vertical distance to travel. Positive numbers will scroll the
     * content up.
     * @param duration Duration of the scroll in milliseconds.
     */
    public void startScroll(int startX, int startY, int dx, int dy, int duration) {
          mMode = SCROLL_MODE;
          mFinished = false;
          mDuration = duration;
          mStartTime = AnimationUtils.currentAnimationTimeMillis();
          mStartX = startX;
          mStartY = startY;
          mFinalX = startX + dx;
          mFinalY = startY + dy;
          mDeltaX = dx;
          mDeltaY = dy;
          mDurationReciprocal = 1.0f / (float) mDuration;
    }



本文转载自:http://blog.csdn.net/oyangyujun/article/details/48025689

共有 人打赏支持
k
粉丝 1
博文 129
码字总数 0
作品 0
朝阳
源码解析---Scroller完全解析

Scroller完全解析 1.概述 Scroller是一个专门用于处理滚动效果的工具类,可能在大多数情况下,我们直接使用Scroller的场景并不多,但是很多大家所熟知的控件在内部都是使用Scroller来实现的,...

android-key
2016/11/23
3
0
Android Scroller

Android Scroller实现View弹性滑动完全解析() http://www.jianshu.com/p/9419262a342a# Android Scroller简单用法 http://ipjmc.iteye.com/blog/1615828 Android Scroller完全解析,关于Scr......

addcn
2016/06/20
17
0
Android自定义View——从零开始实现书籍翻页效果(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 系列教程:Android开发之从零开始系列 源码:github.com/AnliaLee/BookPage,欢迎star 大家要是看到有错误的地方或者有啥好的建议,欢...

Anlia
2017/10/25
0
0
带你实现漂亮的滑动卷尺

HenCoder最近在搞一个仿写活动,活动地址 http://hencoder.com/activity-mock-1/,之前关注过他写的关于绘制系列的文章,今天就拿这个来练练手,我选择模仿的是薄荷健康的滑动卷尺效果。 薄荷...

Jdqm
2017/10/19
0
0
通过Scroller.js制作上拉加载和下拉刷新

之前做移动端webAPP开发,一直是用的IScroll来做滚动列表,但是IScroll没有直接提供上下拉刷新的功能,虽然我们基于IScroll自己实现了一套,但IScroll依然有不少bug.就拿点击来说吧,在某些型号的...

WolfX
2016/03/08
292
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

咕泡-Factory设计模式笔记

个人感悟: 设计模式都是处理复杂问题的,如果问题本身很简单,使用设计模式反而累赘,增加了开发的复杂性 遇到最简单的情况,直接 new 如果创建对象的过程简单,但是需要匹配不同情况,返回...

职业搬砖20年
15分钟前
0
0
Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏...

Funcy1122
23分钟前
0
0
Ansible随机数

想为你的Ansible剧本取一个随机数?还想在接下来的运行中保持系统的等幂性?这里有一个答案。 假如,你要为一大批服务器设置cron任务,却不想让它们同时启动,你可以这样设置分钟数: minute...

大别阿郎
32分钟前
0
0
SpringCloud之服务注册中心Eureka

本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.SR1 服务注册中心 Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。 ...

熊小飞呀
59分钟前
7
1
“Comparison method violates ...”异常的再现方法

前提条件:JDK8 代码: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public stat......

hunterli
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部