HarmonyOS 鸿蒙Next Navigation 你们觉得好用?根页面如何替换。
HarmonyOS 鸿蒙Next Navigation 你们觉得好用?根页面如何替换。
更多关于HarmonyOS 鸿蒙Next Navigation 你们觉得好用?根页面如何替换。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
Navigation好用吗?不好用,比如通用动画不支持设置。子页面要包裹特定布局。 根页面如何替换,if else 就行。看生命周期,if else 切换Compoent应该是直接移除的,没有做缓存,不占用内存。长期占用的应该是boolean值
导航条设置(导航条这个东西,有一个算一个,都是垃圾。在安卓上甚至不如三大金刚。都怪iOS带头)
let windowClass = window.findWindow(this.getUIContext().getWindowName()) windowClass.setWindowSystemBarEnable([‘status’]) windowClass.setWindowSystemBarProperties({}) 返回拦截是onbackPress(话说,干一年安卓,对这个应该也熟悉吧)
onbackPress 返回false 他也不管用,需要在路由栈去拦截。
没有登录的情况下,index 承载的是登录页面,Navigation也是最外层的,登录完毕进入首页。进入首页后,如果需要做分屏-多适配,也就是左边首页内容,右边详情页内容考虑平板设备或者折叠屏。该如何设置。我的方案,index页承载 login 的 组件和首页组件。然后做登录后的判断移除login 。这样合适?
1.个人在项目实战过程中,将几个首页页面做成Component,tab+几个首页component 作为 Navigation的根容器元素作为容器默认根页面,并且在首页注册 emitter事件监听。
2.登录: 在首页生命周期中判断是否已经登录,没有登录,通过navPathStack跳转到登录页面,登录成功,发射登录成功事件,首页监听到登录成功事件,重新查询人员相关信息,渲染UI。navPathStack.clear(),进入首页。
4.其他页面的返回 通过系统函数 返回上一个页面
this.queryNavigationInfo()?.pathStack.pop();
3.关于navigation的配置,可以使用 系统路由表,很方便快捷。https://developer.huawei.com/consumer/cn/doc/atomic-guides-V5/atomic-intra-module-page-routing-V5#section1779564411204
首先非常感谢大家。试了n多种方法后,也只能用判断条件来决定跟容器的显示页面。目前问题已经解决。
HarmonyOS 鸿蒙Next Navigation提供了一种全新的导航模式,用户体验上较为流畅和直观。其设计初衷是为了更好地适应多设备融合的场景,实现应用在不同设备间的无缝切换和协同。
关于根页面的替换,在HarmonyOS中,这通常涉及到页面栈的管理。具体步骤如下:
-
获取当前页面栈:首先,你需要获取当前应用的页面栈,这是管理页面导航的基础。
-
移除旧根页面:在获取到页面栈后,你可以通过相关API将旧的根页面从栈中移除。这一步确保了新的根页面能够正确设置。
-
设置新根页面:移除旧根页面后,你可以将新的页面设置为根页面。这通常涉及到将新页面推送到页面栈的底部,并标记为根页面。
-
更新UI:完成上述步骤后,需要确保UI得到及时更新,以反映根页面的替换。
请注意,以上步骤是基于HarmonyOS的页面管理机制进行的描述,具体实现可能会因应用框架和版本的不同而有所差异。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。