【每日学点HarmonyOS Next知识】监听页面大小变化、对话框遮挡问题、分栏显示问题、图片组件加载问题、路由跳转问题

138 阅读2分钟

1、HarmonyOS 如何实时监听NavPathStack的size的变化?

如何实时监听NavPathStack的size的变化?

目前文档中的方案:navDestinationUpdate,三个问题:

  1. 更新比较频繁,会连续触发多次。
  2. 某些场景不需要,因为息屏、推导后台也会调用。不需要。
  3. 不准,因为push新页面,size发生变化,但是并未收到通知。

可以使用observe.on,参考文:developer.huawei.com/consumer/cn…

2、HarmonyOS 对话框弹出页面被遮挡?

操作步骤: 1、点击弹出 dialog 2、在 dialog 中跳到登录页面结果页面在 dialog 后面,被遮挡

CustomDialog是全局弹框,窗口层级较高,可以使用window降低层级,API地址:developer.huawei.com/consumer/cn…

3、HarmonyOS 当navigation用NavigationMode.Split,bindsheet是否有办法在分屏时也适应?

半模态: 屏幕宽度小于600vp时,底部弹窗显示 屏幕宽度在[600,840)的区间时,居中弹窗 屏幕宽度大于840时,默认显示跟手弹窗样式,跟手弹窗显示在bindsheelp绑定的节点下方

4、HarmonyOS Image组件当设置属性visibility为Visibility.None时,不会调用onComplete事件吗?

Image组件当设置属性visibility为Visibility.None时,不会调用onComplete事件吗?

image的onComplete接口的返回值中有组件的宽高 componentWidth 和 componentHeight,所以是需要 measure 完后才能执行 onComplete,而当前如果组件的visible = false,是不会 measure的,导致了这个onComplet 的回调一直不能执行。 解决方案: 默认visible = true,通过 onError 的接口,当图片加载失败的时候令 visible = false

5、HarmonyOS pushDestinationByName和pushPathByName的区别?

pushDestinationByName 绑定了上下文对象,调用时会验证上下文是否一致,pushPathByName 则不会验证。不同的window,运行的UIContext不一样,如果都是在一个window下使用的话,除了返回值不一样,没有其他区别

##鸿蒙核心技术##鸿蒙开发工具##DevEco Studio## ##社交##