一起Talk Android吧(第一百一十二回:Android中View之坐标总结)

本文深入解析Android中View的坐标系统,包括View自身坐标与MotionEvent触摸事件坐标的区别与联系,通过图表直观展示,帮助读者理解并掌握不同坐标的应用场景。

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

各位看官们,大家好,上一回中咱们说的是Android中View之按件事件的例子,这一回咱们说的例子是View之坐标总结。闲话休提,言归正转。让我们一起Talk Android吧!

我们在前面章回中介绍过View中的坐标和触摸事件的坐标,这些容易混淆,在本章回中就给大家做一个总结,以减少大家对各种坐标的困惑。

View中的坐标:
View是一个组件,它在屏幕中体现为一块区域,因此有上下左右之分,我们可以通过该区域上下左右的位置来确定它在布局中的位置。为此View提供了getLeft/Right/Top/Bottom这些方法来获取View到其父布局的距离,这些距离统称为View的坐标。

MotionEvent的坐标:
MotionEvent也就是触摸事件,它是一个点,虽然像区域一样有上下左右之分,但是我们可以通过点的坐标来确定它在布局中的位置。为此MotionEvent提供了getX/Y/RawX/RawY这些方法来获取触摸事件到其父布局的距离,这些距离统称为View的坐标。

看官们,触摸事件也是View的一部分,它用来表示的View的能力,因此我们也可以把上面所说的两种坐标统称为View中的坐标,其实官方文档并没有这样区分它们,只是为了方便大家理解我才做了区分。还有就是View组件也提供了getX/Y方法(从这点也可以看出来它们是一家人),其结果和getLeft/Top方法相同,只知道这两个位置坐标没有办法确定View组件的位置,因此我们在实际中几乎不使用getX/Y方法去获取View的位置坐标。常用的做法是使用getLeft等方法来获取View的位置坐标,使用getX等方法来获取触摸事件的位置坐标。

看官们,我把所有关于View坐标的内容结合在一起,制作了一个坐标图,大家可以从图中形象地看到各种坐标。

在这里插入图片描述

图中最外面是坐标的xy轴方向,接下来就是屏幕最上方的标题栏,标题栏下面蓝色方框范围的区域代表View的父布局。绿色方框范围内的区域代表View,获取View坐标的方法也使用绿色箭头进行了标记。橙色圆形区域代表触摸事件,获取触摸事件坐标的方法也使用橙色箭头进行了标记。图中还一部分虚线,只是为了画图方便添加上的,没有具体的意义。

各位看官,关于Androd中View之坐标总结的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值