HarmonyOS 鸿蒙Next:【router】当页面1禁用了exit的转场动画,push到页面2时,页面2在转场过程中会完全透明而看到页面1,直至转场动画结束

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:【router】当页面1禁用了exit的转场动画,push到页面2时,页面2在转场过程中会完全透明而看到页面1,直至转场动画结束

1、页面1通过以下如以下代码重写pageTransition,禁用了页面的Exit时的转场动画 2、页面1通过router,push到页面2 3、页面2在转场过程中会完全透明而看到页面1,直至转场动画结束

期望:页面2在转场过程中不会变成完全透明

pageTransition() {
    PageTransitionEnter({})
      .onEnter((type: RouteType, progress: number) => {

      })
    PageTransitionExit({})
      .onExit((type: RouteType, progress: number) => {

      })
}

更多关于HarmonyOS 鸿蒙Next:【router】当页面1禁用了exit的转场动画,push到页面2时,页面2在转场过程中会完全透明而看到页面1,直至转场动画结束的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next:【router】当页面1禁用了exit的转场动画,push到页面2时,页面2在转场过程中会完全透明而看到页面1,直至转场动画结束的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,当页面1禁用了exit的转场动画,而直接push到页面2时,页面2在转场过程中可能会出现完全透明的情况,从而能够看到页面1的内容,直至转场动画结束。这种情况通常是由于动画设置不当或页面渲染顺序问题导致的。

要解决这个问题,你可以尝试以下方法:

  1. 检查页面1的exit动画设置:确保页面1在push操作前的exit动画没有被完全禁用,或者尝试设置一个合适的exit动画,即使是一个简短的淡出效果,以避免页面内容直接暴露。

  2. 调整页面2的enter动画:在页面2的enter动画中,确保有一个合适的起始状态,比如从完全透明逐渐变为不透明,这样可以平滑地覆盖页面1的内容。

  3. 同步动画时长:确保页面1的exit动画时长与页面2的enter动画时长相匹配,以保持转场过程的一致性和流畅性。

如果上述方法仍然无法解决问题,可能是系统或框架层面的bug,或者是特定场景下的渲染异常。此时,建议直接联系鸿蒙系统的官方技术支持,以便获得更专业的帮助。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部