各位看官们,大家好,上一回中咱们说的是Android中View之按件事件的例子,这一回咱们说的例子是View之坐标总结。闲话休提,言归正转。让我们一起Talk Android吧!
我们在前面章回中介绍过View
中的坐标和触摸事件的坐标,这些容易混淆,在本章回中就给大家做一个总结,以减少大家对各种坐标的困惑。
View中的坐标:
View
是一个组件,它在屏幕中体现为一块区域,因此有上下左右之分,我们可以通过该区域上下左右的位置来确定它在布局中的位置。为此View提供了getLeft/Right/Top/Bottom
这些方法来获取View
到其父布局的距离,这些距离统称为View
的坐标。
MotionEvent的坐标:
MotionEvent
也就是触摸事件,它是一个点,虽然像区域一样有上下左右之分,但是我们可以通过点的坐标来确定它在布局中的位置。为此MotionEvent
提供了getX/Y/RawX/RawY
这些方法来获取触摸事件到其父布局的距离,这些距离统称为View的坐标。
看官们,触摸事件也是View
的一部分,它用来表示的View
的能力,因此我们也可以把上面所说的两种坐标统称为View
中的坐标,其实官方文档并没有这样区分它们,只是为了方便大家理解我才做了区分。还有就是View
组件也提供了getX/Y
方法(从这点也可以看出来它们是一家人),其结果和getLeft/Top
方法相同,只知道这两个位置坐标没有办法确定View
组件的位置,因此我们在实际中几乎不使用getX/Y
方法去获取View的位置坐标。常用的做法是使用getLeft
等方法来获取View的位置坐标,使用getX
等方法来获取触摸事件的位置坐标。
看官们,我把所有关于View坐标的内容结合在一起,制作了一个坐标图,大家可以从图中形象地看到各种坐标。
图中最外面是坐标的xy轴方向,接下来就是屏幕最上方的标题栏,标题栏下面蓝色方框范围的区域代表View
的父布局。绿色方框范围内的区域代表View,获取View坐标的方法也使用绿色箭头进行了标记。橙色圆形区域代表触摸事件,获取触摸事件坐标的方法也使用橙色箭头进行了标记。图中还一部分虚线,只是为了画图方便添加上的,没有具体的意义。
各位看官,关于Androd中View之坐标总结的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!