Android群英传第五章Scroll分析读书笔记

Android坐标系

Android系统提供了getLacationOnScreen(int[] location)这样的方法来获取Android坐标系中点的位置,即该视图左上角在Android坐标系中的坐标。


getRawX(),getRawY()方法所获取的坐标是Android坐标系中的坐标。即屏幕左上角的坐标

getX(),getY()方法所获取的坐标是视图坐标系中的坐标。即父视图的左上角坐标


标示坐标系的一些API

  Android群英传第五章Scroll分析读书笔记_第1张图片


方法offsetLeftAndRight()与offsetTopAndBottom()

这个方法相当于系统提供的一个对左右,上下移动的API的封装。当计算出偏移量后,只需要使用该方法就可以完成View的重新布局


scrollTo和scrollBy

scrollTo(x,y)表示移动到一个具体的坐标点(x,y),而scrollTo(dx,dy)表示移动的增量为dx,dy


Scroller的用法

1,初始化Scroller

首先,通过它的构造函数来创建一个Scroller对象 mScroller = new Scroller(context);

2,重新computeScroll()方法,实现模拟滑动

public void computeScroll(){

super.computeScroll();

//判断Scroller是否执行完毕

if(mScroller.computeScrollOffset()){

(View)getParent().scrollTo(mScroller.getCurrX(),mScroller.getCurrY());

invalidate();

}

}

3,startScroll开启模拟过程

public void startScroll(int startX,int startY,int dx,int dy,int duration);

public void startScroll(int startX,int startY,int dx,int dy);


你可能感兴趣的:(Android群英传第五章Scroll分析读书笔记)