如何设置view,坐标从状态栏开始

如何设置view,坐标从状态栏开始,第1张

getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度。

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7753621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存