OpenHarmony开发者论坛

标题: 如何获取组件的宽高 [打印本页]

作者: mean    时间: 2023-10-31 10:07
标题: 如何获取组件的宽高

【问题描述】
组件的宽高信息用于计算布局区域大小以及偏移量等内容,如何获取宽高信息?
【运行环境】
硬件:rk3568
ROM版本:3.2  Beta5
DevEvoStudio版本:
SDK版本:API 9



作者: westinyang    时间: 2023-10-31 11:33
[md]给组件添加区域变化事件,组件首次渲染也会触发该事件,你可以从newValue中拿到组件的宽高以及目标元素相对父元素和页面左上角的坐标位置,你可以把宽高记录到一些状态变量中用于其他业务逻辑

```js
.onAreaChange((oldValue: Area, newValue: Area) => {
        console.info(`Ace: on area change, oldValue is ${JSON.stringify(oldValue)} value is ${JSON.stringify(newValue)}`)
})
```

![](data/attachment/forum/202310/31/113036sqoo88gkn8szsfn8.png "1.png")

[/md]
作者: edice    时间: 2023-10-31 17:49
[md]方式一:使用组件区域变化事件onAreaChange,在组件初始化或组件尺寸发生变化时触发。

方式二:在点击或触摸事件中,事件的回调信息中存在目标元素的区域信息。

参考链接:[组件区域变化事件](https://gitee.com/openharmony/do ... rea-change-event.md),[点击事件](https://gitee.com/openharmony/do ... sal-events-click.md),[触摸事件](https://gitee.com/openharmony/do ... sal-events-touch.md)

[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5