HarmonyOS 如何准确获取ArkUI组件尺寸变化情况?

Column的内容是根据请求的网络接口数据去展示,高度是会动态变化的。

当前使用这个API:Column().onVisibleAreaChange(),偶现内容高度变化后,API返回的高度跟实际高度有差异,导致交互异常。

有没有其它API能够准确获取ArkUI的尺寸变化?或者有没有更好的方式去监听高度变化。期望View的高度变化了能及时收到变化通知。

HarmonyOS
2024-08-30 09:59:04
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

组件区域变化事件onAreaChange指组件显示的尺寸、位置等发生变化时触发的事件。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-component-area-change-event-V5

组件尺寸变化事件onSizeChange指组件显示的尺寸发生变化时触发的事件。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-component-size-change-event-V5

组件可见区域变化事件onVisibleAreaChange是组件在屏幕中的显示区域面积变化时触发的事件,提供了判断组件是否完全或部分显示在屏幕中的能力,适用于广告曝光埋点之类的场景。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-component-visible-area-change-event-V5

请伙伴根据自己的业务场景去选择事件监听。

按照伙伴的ide版本测试,是可以使用onSizeChange这个方法的

@Entry 
@Component 
struct page { 
 @State sizeValue:string = " " 
 build() { 
  Column() { 
   Row() 
   { 
    Text("Hello World") 
   } 
   .onSizeChange((oldValue: SizeOptions, newValue: SizeOptions) => { 
    console.info(`Ace: on size change, oldValue is ${JSON.stringify(oldValue)} value is ${JSON.stringify(newValue)}`) 
    this.sizeValue = JSON.stringify(newValue) 
   }) 
  } 
 } 
}
分享
微博
QQ
微信
回复
2024-08-30 18:04:56
相关问题
如何设置组件的内边距尺寸
117浏览 • 1回复 待解决
如何设置组件尺寸范围?
130浏览 • 1回复 待解决
har如何导出ArkUI组件
110浏览 • 1回复 待解决
如何获取网络图片的尺寸
166浏览 • 1回复 待解决
如何设置组件的外边距尺寸
147浏览 • 1回复 待解决
Polyline组件绘制坐标不准确
1732浏览 • 1回复 待解决
如何设置父组件随子组件宽度变化
1647浏览 • 1回复 待解决
HarmonyOS ArkUI加载自定义组件
138浏览 • 1回复 待解决
ArkUI如何通过代码动态创建组件
2007浏览 • 1回复 待解决
如何获取设备横竖屏的状态变化通知
1729浏览 • 1回复 待解决
ArkUI如何设置组件的悬停状态?
1369浏览 • 1回复 待解决
ArkUI没有table组件吗?
3098浏览 • 1回复 待解决
ArkUI如何获取当前UI控件的信息
1694浏览 • 1回复 待解决
HarmonyOS 如何获取组件的宽度
124浏览 • 1回复 待解决