【HarmonyOS】取消页面转场动画

【HarmonyOS】取消页面转场动画

问题背景:

当A页面切换至B页面时,系统会自带左右进场退场的动画效果。一般来说,该效果是ok的,但是在特殊场景下,例如:

A页面跳到B页面,又跳到C页面。C页面直接返回到A页面。正常不处理时,C到A会有两次页面切换的动画,最终才能展示到A页面。此时就需要能将B页面的转场动画取消。

解决方案:

在页面中,即@Entry修饰的页面类中,需要重写函数pageTransition,实现PageTransitionEnter页面进入,PageTransitionExit页面退出两个实例。

当需要禁止转场动画时,将duration时间设置为0即可。

【目前华为不推荐该pageTransition方式设置转场动画,不过该方法设置起来很简单,若不是较为复杂的业务or动画特殊效果可以如此设置。】

Demo示例:

dart 复制代码
/**
 * 禁用页面转场动画
 */
@Entry
@Component
struct PageTransitionPage {
  
  @State isBackA: boolean = true;

  build() {
    Stack(){
      Text("页面B")
        .size({ width: "100%", height: "100%"})
    }
  }

  pageTransition() {
    if(this.isBackA){
      PageTransitionEnter({ type: RouteType.None, duration: 0 })
      PageTransitionExit({ type: RouteType.None, duration: 0 })
    }
  }
}
相关推荐
Archilect17 小时前
HarmonyOS ArkTS 倒计时组件实战:性能优化篇 - 从100ms刷新到流畅体验
harmonyos
Archilect17 小时前
HarmonyOS ArkTS 倒计时组件实战:高级特性篇 - 时间区间样式切换的动态配置系统
harmonyos
梧桐ty17 小时前
鸿蒙+Flutter混合工程化:构建、依赖管理与持续集成实战
flutter·华为·harmonyos
少一倍的优雅20 小时前
hi3863(WS63) 智能小车 (一) 简单介绍
单片机·嵌入式硬件·harmonyos·hi3863
卡奥斯开源社区官方21 小时前
鸿蒙智行 L3 内测启幕:从技术架构到商用落地的全链路技术拆
华为·架构·harmonyos
搬砖的kk21 小时前
Flutter UUID 鸿蒙平台适配实践 - 全版本测试与验证
flutter·华为·harmonyos
梧桐ty1 天前
硬件交互联动:基于鸿蒙的Flutter物联网应用开发实战
flutter·华为·harmonyos
鸿蒙小白龙1 天前
鸿蒙UniProton操作系统编译开发指导
harmonyos·鸿蒙系统·openharmony·uniproton
萌虎不虎1 天前
【鸿蒙根据图片路径读取图片的base64数据】
华为·harmonyos
庄雨山1 天前
Flutter模块化开发实战:跨端视角下与开源鸿蒙开发的异同及融合思路
flutter·openharmony