标签:
View 是 Android 中所有控件的基类,ViewGroup 也继承了 View。
Android 中,x 轴和 y 轴的正方向分别为右和下。
(left , top ): View 左上角原始坐标
(right, bottom): View 右下角原始坐标
(x , y ): View 左上角最终坐标
translationX: View 左上角横向偏移量
translationY: View 左上角纵向偏移量
x = left + translationX
y = top + translationY (setX/Y() 时其实就是改变 translationX/Y 的值)
width = right - left
height = bottom - top
典型事件:ACTION_DOWN, ACTION_MOVE,ACTION_UP
意思也很容易理解,分别是落,动,起
一次触摸会触发一系列事件:
通过 MotionEvent 获得点击事件的坐标:
滑动的最小距离,若没达到,则不认为是滑动,默认 8dp。
速度追踪,用于追踪手指在滑动过程中的速度。
在 View 的 onTouchEvent 方法中:
VelocityTracker velocityTracker = VelocityTracker.obtain();
velocityTracker.addMovement(event);
velocityTracker.computeCurrentVelocity(1000);// 1000ms内划过的像素数
int xVelocity = (int) velocityTracker.getXVelocity();
int yVelocity = (int) velocityTracker.getYVelocity();
回收:
velocityTracker.clear();
velocityTracker.recycle();
手势检测,用于辅助检测用户的单击、滑动、长按、双击等行为。
一般监听滑动相关,在 onTouchEvent 中自己实现,若是监听双击,则使用 GestureDetector。
弹性滑动对象,用于实现 View 的弹性滑动,即有过过渡效果的滑动,与 View 的 computeScroll 方法配合使用。
《Android 开发艺术探索》笔记——(3)View 的事件体系
标签:
原文地址:http://blog.csdn.net/gdeer/article/details/51353906