Android自定义View基础——坐标系

来源:互联网 发布:工业用电量数据 编辑:程序博客网 时间:2024/06/05 00:21

参考文章:
http://www.gcssloop.com/customview/CoordinateSystem
http://blog.csdn.net/lvxiangan/article/details/19971509
http://blog.csdn.net/yanbober/article/details/50419117/

安卓屏幕的坐标系:

原点是左上角(0,0),向下是y轴正方向,向右是x轴正方向
这里写图片描述

相应方法的解释:

1、View的静态方法(不考虑View的平移操作):

getLeft(): 返回View自身左边到父布局左边的距离

getTop() 返回View自身顶边到父布局顶边的距离

getRight() 返回View自身右边到父布局左边的距离

getBottom() 返回View自身底边到父布局顶边的距离

需要注意的是,这四个方法获取的坐标表示的是View原始状态时相对于父容器的坐标,对View进行平移操作并不会改变这四个方法的返回值。

一: getX()与getY()方法获取的是View左上角相对于父容器的坐标,当View没有发生平移操作时,getX()==getLeft()、getY==getTop()。

二: translationX与 translationY是View左上角相对于父容器的偏移量:translationX = getX() - getLeft(),当View未发生平移操作时,translationX 与translationY都为0。

2、MotionEvent

当重写View的onTouchEvent(MotionEvent event)方法时Android会把触摸事件封装成MotionEvent成提供给开发者,MotionEvent提供了两组用于获取用户点击点坐标的方法:

getX() 当前触摸事件距离当前View左边的距离

getY() 当前触摸事件距离当前View顶边的距离

getRawX() 当前触摸事件距离整个屏幕左边的距离

getRawY() 当前触摸事件距离整个屏幕顶边的距离

原创粉丝点击