什么是View
View是Android中所有控件的基类。ViewGroup也继承自View,View本身可以是单个控件,也可以是多个控件组成的一组控件,通过这种关系就形成了View树的结构。
View的位置参数
View的位置主要由四个定点来决定,分别对应与View的四个属性:top、left、right、bottom。
top:左上角纵坐标。
left:左上角横坐标。
right:右下角横坐标。
bottom:右下角纵坐标。
需要注意的是,这些坐标都是相对View的父布局来说的,所以都是相对坐标。如果要获取这些坐标也很容易,View的源码中有分别对应与这四个坐标的get方法。
自Android3.0以后,View增加了额外的几个参数:x、y、translationX和translationY。其中x和y是View左上角的坐标,而translationX和translationY则是View左上角相对于父布局的偏移量。这几个参数也是相对于父布局的坐标。translationX和translationY默认值是0。同样View也为这几个参数提供了get/set方法。
这几个参数的换算关系如下:
x=left+translationX;
y=top+translationY;
注:View在移动的过程中,top和left的值不会发生改变,改变的是x、y、translationX和translationY这四个参数。
View的点击事件(MotionEvent)
ACTION_DOWN:手指按下点击屏幕。
ACTION_MOVE:手指在屏幕上滑动。
ACTION_UP:手指从屏幕上抬起。
TouchSlop
TouchSlop是系统所能识别出的被认为是滑动的最小距离,即当手指在屏幕上的滑动距离小于这个值时,将系统被认为是一次无效的滑动。这是一个常量,与设备有关,在不同设备上这个值可能不同。