坐标相关
获取点相对屏幕左上角的坐标
getLocationOnScreen(int[] location);//得到的是一个数组,包含X,Y的坐标
getRawX();//获取X坐标
getRawY();//获取Y坐标
获取点相对父控件左上角的坐标
getLocationInWindow(int[] location)//得到的是一个数组,包含X,Y的坐标
getX();//获取X坐标
getY();//获取Y坐标
获取View距离父控件的距离
getTop();//view自身的顶边到父控件顶边的距离
getBottom();//view自身的下边到父控件下边的距离
getLeft();//view自身的左边到父控件左边的距离
getRight();//view自身的右边到父控件右边的距离
MotionEvent提供的方法
//绝对坐标
getRawX();//获取X坐标
getRawY();//获取Y坐标
//相对坐标
getX();//获取X坐标
getY();//获取Y坐标
移动View的方法
通过view.layout()
v.layout(v.getLeft() + offsetX, v.getTop() + offsetY, v.getRight() + offsetX, v.getBottom() + offsetY);
通过view.offsetLeftAndRight()和view.offsetTopAndBottom()
//效果和layout()方法一样
v.offsetLeftAndRight(offsetX);
v.offsetTopAndBottom(offsetY);
通过父控件的scrollTo()和scrollBy()方法
移动的是其中的内容,所以向右滑动的偏移量是负值,上下滑动同理,相当于拖动屏幕
scrollTo(x,y) // 移动到具体的点
scrollBy(dx,dy) //移动的增量
具体使用
//方法3:
((View) v.getParent()).scrollBy(-offsetX, -offsetY);
Scroller
能够实现View的滑动效果的类,参考android 群英传5.2.5