HarmonyOS 鸿蒙Next 共享元素转场动画

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

HarmonyOS 鸿蒙Next 共享元素转场动画

请问一下 a组件到b组件 使用geometryTransition 进行转场动画

  1. 如何控制转场动画的时间

    • 总时间
    • a组件动画占用时间 和 b组件动画占用时间
  2. 我看文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-shared-element-transition-V5#%E4%BD%BF%E7%94%A8geometrytransition%E5%85%B1%E4%BA%AB%E5%85%83%E7%B4%A0%E8%BD%AC%E5%9C%BA处,有此标注 没有太明白立即析构的意思 也就是我不做此通用动画 会有啥影响?


// transition保证节点离场不被立即析构,设置通用转场效果
.transition(TransitionEffect.OPACITY)
  1. a组件到b组件之间的动画效果 可以设置吗?如果可以 麻烦给个例子,比如旋转等

更多关于HarmonyOS 鸿蒙Next 共享元素转场动画的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

1、控制总时间,geometryTransition必须配合animateTo使用才有动画效果,动效时长、曲线跟随animateTo中的配置,不支持animation隐式动画。

animateTo({ duration: 1000 }, () => {
 this.isShow = !this.isShow
})

这个1000就是动画持续时间,单位为毫秒。 不能区分组件之间动画占用时间

2、意味着在动画完成之前,不要销毁这个节点,以确保动画效果的完整播放,如果这个节点正在执行一个动画或转场效果,直接销毁可能会导致动画中断或资源泄露

3、动画效果可以设置的

.transition(TransitionEffect.rotate({angle:90})) 如这种就是旋转90度

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-transition-animation-component-V5#transitioneffect10%E5%AF%B9%E8%B1%A1%E8%AF%B4%E6%98%8E

更多关于HarmonyOS 鸿蒙Next 共享元素转场动画的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next的共享元素转场动画是一种在应用程序之间或应用内部页面切换时,实现视觉连贯性和流畅性的动画效果。该动画通过保持两个页面之间共同元素的视觉一致性,使用户体验更加平滑和自然。

在HarmonyOS中,实现共享元素转场动画通常需要以下几个步骤:

  1. 定义共享元素:在源页面和目标页面中,需要明确哪些元素是共享的。这通常通过元素的ID或特定的标签来识别。

  2. 触发转场:当用户执行触发页面切换的操作时(如点击按钮),系统会捕获这一事件,并准备开始转场动画。

  3. 动画执行:系统会根据定义的共享元素,计算它们从源页面到目标页面的移动路径和变化方式,然后执行动画。

  4. 结束动画:当动画执行完毕,目标页面会完全呈现给用户,共享元素在目标页面中的位置和状态会与动画结束时一致。

需要注意的是,具体的实现细节可能会因HarmonyOS的版本和应用程序的具体需求而有所不同。如果开发者在实现过程中遇到具体问题,建议查阅HarmonyOS的官方文档或相关开发指南。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,

回到顶部