本文只是作为个人知识总结,在这里感谢前辈们的参考资料:
http://www.gcssloop.com/timeline
目录
2.3、MotionEvent中 get 和 getRaw 的区别
2.4、在xml文件(layout或style)中引用或者创建颜色
一、前言
自定义View原理是Android开发者必须了解的基础。我自己也是一知半解,所以用博客记录下来。如果理解有误希望指出,也希望对大家有一点帮助。
二、Android中的坐标系
2.1、屏幕坐标系
Android的坐标系定义为,如下图:
- 屏幕的左上角为坐标原点
- 向右为x轴增大方向
- 向下为y轴增大方向
与数学中常见的坐标系是稍微有点差别的,详情如下:
2.2、View坐标系
注意:View的坐标系统是相对于父控件而言的.
View的位置由4个顶点决定的(如下A、B、C、D)
4个顶点的位置描述分别由4个值决定,获取值的方法如下:
Top:getTop();//子View上边界到父view上边界的距离
Left:getLeft(); //子View左边界到父view左边界的距离
Bottom:getBottom(); //子View下界距到父View上边界的距离
Right:getRight(); //子View右边界到父view左边界的距离
如图:
2.3、MotionEvent中 get 和 getRaw 的区别
//get() :触摸点相对于其所在组件坐标系的坐标
event.getX();
event.getY();
//getRaw() :触摸点相对于屏幕默认坐标系的坐标
event.getRawX();
event.getRawY();