HarmonyOS NavDestination中transition设置非对称动画时,disappear动画无效啊

NavDestination(){
  Row() {
    Column() {
      Text("测试")
    }
    .width('100%')
  }
  .height('100%')
}.transition(TransitionEffect.asymmetric(
  TransitionEffect.move(TransitionEdge.BOTTOM).animation({duration:500,curve:Curve.ExtremeDeceleration}),
  TransitionEffect.move(TransitionEdge.TOP).animation({duration:500,curve:Curve.ExtremeDeceleration})
))

设置了transition,现在通过Navigation导航到该页面时,第一个BOTTOM动画看着是有效的,但是我返回到上一个页面,TransitionEdge.TOP这个动画就不生效了,这是为啥

HarmonyOS
2024-12-26 14:46:27
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

确实存在这个问题,可以尝试下使用customNavContentTransition来自定义转场动画,

Navigation通过customNavContentTransition事件提供自定义转场动画的能力,当转场开始时,通过回调函数告知开发者,告知此次动画from(从哪来)、to(到哪去)、是Push、Pop亦或是Repalce。

这里需要注意当为根视图时,NavContentInfo的name值为undefined。

开发者可以在customNavContentTransition的回调函数中进行动画处理,返回NavigationAnimatedTransition自定义转场协议已实现自定义转场。

NavigationAnimatedTransition对象中包含三个参数,timeout(动画超时结束时间),transition(自定义动画执行回调),onTransitionEnd(转场完成回调),需要在transition方法中实现具体动画逻辑。

由于自定义转场参数是在Navigation层级,但是每个页面都会有其特定的自定义转场效果,因此需要定义一套转场动画框架,已实现在Navigation层面对框架进行统一管理,各个页面通过实现框架提供的回调函数,将其特定的动画效果传递给Navigation。

详细链接可参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-navigation-V5#示例3

分享
微博
QQ
微信
回复
2024-12-26 15:42:13
相关问题
实现一次非对称RSA非对称加解密
1581浏览 • 1回复 待解决
救命,鸿蒙怎么写动画
6203浏览 • 2回复 待解决
是否有支持非对称加密的三方库?
1578浏览 • 1回复 待解决
RSA非对称加密-@hms-security/agoh-crypto
963浏览 • 1回复 待解决
HarmonyOS 拖拽动画会丢失
279浏览 • 1回复 待解决