HarmonyOS鸿蒙Next中Navigation管理页面,NavDestination使用NavDestinationMode.DIALOG弹出视图后,再继续push NavDestination为什么没有转场动画了
HarmonyOS鸿蒙Next中Navigation管理页面,NavDestination使用NavDestinationMode.DIALOG弹出视图后,再继续push NavDestination为什么没有转场动画了 Navigation管理页面,NavDestination使用NavDestinationMode.DIALOG弹出视图后,再继续push NavDestination为什么没有转场动画了?文档只说NavDestinationMode.DIALOG无动画,没说NavDestinationMode.DIALOG出来的页面再push也无动画。
NavDestinationMode.DIALOG 属性是不支持系统动画的,会卸载掉默认动画,即会闪现,而没有过渡动画。
经过分析,目前只有两个都是 STANDARD 才有转场动画,因为转场动画两个页面都要参与,而那个 Dialog 类型的页面是透明的,目前还不好实现。
如果您这边想要一个页面没有转场动画一个页面有,可以设计如下:
this.pageInfos.pushPath({ name: 'pageOne' }, false) 
第二个参数:是否展示动画
或
this.pageInfos.pushPathByName('pageTwo', tmp, false) 
第三个参数:是否展示动画
返回时:
.onBackPressed(() => {
    const popDestinationInfo = this.pageInfos.pop(false) // 弹出路由栈栈顶元素,第一个参数:是否展示动画
    console.log('pop' + '返回值' + JSON.stringify(popDestinationInfo))
    return true
})
更多关于HarmonyOS鸿蒙Next中Navigation管理页面,NavDestination使用NavDestinationMode.DIALOG弹出视图后,再继续push NavDestination为什么没有转场动画了的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,NavDestination使用NavDestinationMode.DIALOG弹出视图后,再继续push NavDestination时,转场动画可能会失效。这是由于NavDestinationMode.DIALOG的模态性质导致的。当使用DIALOG模式时,系统会将当前页面作为一个模态对话框处理,模态对话框会阻塞页面栈的转场动画。因此,在模态对话框存在的情况下,继续push NavDestination时,系统不会执行转场动画。要解决这个问题,可以在push新的NavDestination之前,先关闭当前的模态对话框,确保页面栈的转场动画能够正常执行。
在HarmonyOS鸿蒙Next中,当使用NavDestinationMode.DIALOG模式弹出视图后,再继续push NavDestination时,可能会出现转场动画失效的情况。这通常是因为DIALOG模式下的视图已经覆盖了整个屏幕,导致后续的push操作无法正常触发转场动画。解决方法是在弹出DIALOG后,确保先关闭DIALOG视图,再进行后续的页面跳转操作。这样可以保证转场动画的正常执行。
        
      
                  
                  
                  
