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
相关问题
HarmonyOS 获取当前定位不准确
429浏览 • 1回复 待解决
如何获取网络图片的尺寸
446浏览 • 1回复 待解决
如何设置组件尺寸范围?
372浏览 • 1回复 待解决
如何设置组件的内边距尺寸
462浏览 • 1回复 待解决
如何设置组件的外边距尺寸
381浏览 • 1回复 待解决
Polyline组件绘制坐标不准确
1961浏览 • 1回复 待解决
HarmonyOS ArkUI如何动态禁用组件
281浏览 • 1回复 待解决