Android中View的getX,getY...

本文详细解析了Android中视图坐标与触摸事件坐标的区别,包括View提供的getTop、getLeft等方法,以及MotionEvent提供的getX、getY等方法的具体含义与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述
上面的那张图很好的说明了每个方法获得的坐标值或者距离都是从哪里到哪里的。说明一下,图中有三个黑色的框框,最外层的是手机屏幕,

中间层的是ViewGroup,最内层的是ViewGroup中放置的view。

 其实上图中标注的方法可以分为两类,一类是View提供的方法,一类是MotionEvent提供的方法。分别说明如下:

View提供的获取的坐标以及距离的方法:

getTop() 获取到的是view自身的顶边到其父布局顶边的距离

getLeft() 获取到的是view自身的左边到其父布局左边的距离

getRight() 获取到的是view自身的右边到其父布局左边的距离

getBottom() 获取到的是view自身底边到其父布局顶边的距离

MotionEvent提供的方法:

getX() 获取点击事件距离控件左边的距离,即视图坐标

getY() 获取点击事件距离控件顶边的距离,即视图坐标

getRawX() 获取到的是点击事件距离整个屏幕左边的距离,即绝对坐标

getRawY() 获取到的是点击事件距离整个屏幕顶边的距离,即绝对坐标

getScrollY() 获取 视图坐标原点 到 视图 滚出屏幕 的距离

getScrollX() 类似 同上

源码理解:

 public float getX() {
        return mLeft + getTranslationX();
    }

 public float getY() {
        return mTop + getTranslationY();
    }

view.getTranslationX计算的是该view的偏移量。初始值为0,向左偏移值为负,向右偏移值为正;view.getTranslationY计算的是该view的偏移量。初始值为0,向上偏移值为负,向下偏移值为正。

原文地址: http://blog.youkuaiyun.com/zxwd2015/article/details/53055703
原文地址:http://blog.youkuaiyun.com/chdjj/article/details/42293753

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值