HarmonyOS 如何准确获取ArkUI组件尺寸变化情况?-鸿蒙开发者社区-51CTO.COM

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 如何监听组件自身尺寸变化
496浏览 • 1回复 待解决
HarmonyOS 如何获取某个组件尺寸
517浏览 • 1回复 待解决
HarmonyOS 如何获取窗口尺寸
505浏览 • 1回复 待解决
HarmonyOS 获取网络的信息不准确
562浏览 • 1回复 待解决
如何设置组件尺寸范围?
700浏览 • 1回复 待解决
如何获取网络图片的尺寸
817浏览 • 1回复 待解决
HarmonyOS 获取当前定位不准确
1324浏览 • 1回复 待解决
HarmonyOS 播放内容尺寸获取问题
486浏览 • 1回复 待解决
如何设置组件的外边距尺寸
658浏览 • 1回复 待解决
HarmonyOS 组件尺寸显示异常
412浏览 • 1回复 待解决
HarmonyOS 折叠屏获取屏幕尺寸问题
380浏览 • 1回复 待解决
HarmonyOS 图片尺寸获取方法
406浏览 • 1回复 待解决
Polyline组件绘制坐标不准确
2528浏览 • 1回复 待解决
如何设置组件的内边距尺寸
909浏览 • 1回复 待解决