getLocationInWindow ,计算该视图在它所在的widnow的坐标x,y值, 非常准确!
getLeft , getTop, getBottom, getRight, 这一组是获取相对在它父亲里的坐标。
(1)left: mLetft = getLeft() View的左上角横坐标
(2)right:mRight = getRight() View的右下角横坐标
(3)top: mTop = getTop() View的左上角纵坐标
(4)bottom: mBottom = getBottom View的右下角纵坐标
这些坐标是相对于View的父容器而言的,是一个相对坐标。
View左上角的坐标,是View在窗口的实际位置。
View左上角相对于父容器的偏移量,默认为0。
且有 x = left + translationX
View在平移的过程中,top和left是原始左上角的位置信息,其值不会发生改变,此时发生改变的是x、y、translationX,translationY。
MotionEvent提供了获取事件发生时x和y坐标的获取方法。
getX()/getY() 返回相对于当前View左上角的x和y坐标。
getRawX()/getRawY() 返回相对于手机屏幕左上角的x和y坐标。
系统能识别出的被认为是滑动的最小距离。该值是常量,跟设备有关,不同设备可能是不同的值,该值可用来过滤一些两次滑动事件的距离过小的场景。
获取方式:
速度追踪,用于追踪手指在滑动过程中的速度,包括水平速度和竖直速度。
速度 = (终点位置 - 起点位置) / 时间段
手势检测,用于辅助监测用户的单击、滑动、长按、双击等行为。
用于实现View的d性滑动,可以实现有过渡效果的滑动,其过程不是瞬间完成的,而是在一定的时间间隔内完成,需要与View的computeScroll方法配合使用。
在滑动过程中,mScrollX的值总等于View左边缘和View内容左边缘在水平方向的距离,mScrollY总等于View上边缘和View内容上边缘在竖直方向的距离。
摘抄自《Android开发艺术探索》
、移动View内容的相关变量和方法 (注意:是移动View所包含的内容,而非View本身)View相关成员变量
[java] view plain copy
//View的内容相对于View在水平方向上的偏移量,以像素为单位
//当mScrollX为正数时,内容相对于View从右向左移动,反之则向从左向右移动
protected int mScrollX
//View的内容相对于View在垂直方向上的偏移量,以像素为单位
//当mScrollY为负数时,内容相对于View从下向上移动,反之则向从上向下移动
protected int mScrollY
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)