Android坐标系
Android系统提供了getLacationOnScreen(int[] location)这样的方法来获取Android坐标系中点的位置,即该视图左上角在Android坐标系中的坐标。
getRawX(),getRawY()方法所获取的坐标是Android坐标系中的坐标。即屏幕左上角的坐标
getX(),getY()方法所获取的坐标是视图坐标系中的坐标。即父视图的左上角坐标
标示坐标系的一些API
方法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);