HarmonyOS开发小记——获取组件坐标

本文介绍了如何在华为的Harmony框架中,为需要获取坐标的组件添加标识,使用getInspectorByKey()方法获取JSON字符串并解析,提取x轴和y轴坐标,特别适合那些不想深入查找的“懒人”开发者。

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

对于我这种懒人,网上居然不能直接搜到解决办法,太难过了。

华为开发者社区里找,也没办法看到直观的结果。

所以在这里记录一下方便后面的懒人。

Harmony里获取组建坐标用到的是组件标识里的getInspectorByKey()。

这个方法返回的是一串JSON字符串,所以可以用JSON.parse()解析。

先给需要获取坐标的组件加上标识,也就是.id()。

这里以.id("pos")为例:

通过getInspectorByKey("pos"),可以获取到组件"pos"所有的属性。

坐标数据在$attrs.position里。

通过JSON.parse(getInspectorByKey("pos"))可以获取到一个JSON对象,我们再在这里面找我们需要的属性就行了。

例如:

var pos = JSON.parse(getInspectorByKey("pos"))

x轴坐标是

pos["$attrs"]["position"]["x"]

y轴坐标是

pos["$attrs"]["position"]["y"]

获取到的内容会是"xxvp",只要把后面的字符"vp"去掉,剩下数值的转换成number,就可以用于运算之类的。

顺带一提,有些子组件坐标默认(0,0),虽然看他不在(0,0)。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值