HarmonyOS鸿蒙Next实现元素进场和离场动画示例代码
HarmonyOS鸿蒙Next实现元素进场和离场动画示例代码
介绍
本示例基于平移动画(slide)和非对称过渡动画(asymmetric)实现元素进场和离场的动画效果。
效果预览
实现思路
- 平移动画(slide)实现左进右出效果。
Image($r('app.media.background'))
.width(100)
.height(100)
.transition(TransitionEffect.SLIDE.animation({ duration: 500 }))// 和TransitionEffect.SLIDE一致
.transition(TransitionEffect.asymmetric(TransitionEffect.move(TransitionEdge.START),
TransitionEffect.move(TransitionEdge.END))
.animation({ duration: 500 }))
- 非对称过渡动画(asymmetric)实现右进左出效果。
Image($r('app.media.background'))
.transition(TransitionEffect.asymmetric(TransitionEffect.move(TransitionEdge.END),
TransitionEffect.move(TransitionEdge.END))
.animation({ duration: 500 }))
更多关于HarmonyOS鸿蒙Next实现元素进场和离场动画示例代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在HarmonyOS Next中实现元素进场/离场动画,使用ArkUI的动画API:
- 进场动画示例:
Button("进场按钮")
.opacity(0)
.onAppear(() => {
animateTo({ duration: 500 }, () => {
this.opacity = 1
})
})
- 离场动画示例:
@State isVisible: boolean = true
if (this.isVisible) {
Button("离场按钮")
.onClick(() => {
animateTo({ duration: 500 }, () => {
this.opacity = 0
})
this.isVisible = false
})
}
关键点:使用animateTo控制动画过程,配合状态变量管理元素显隐。支持平移、旋转、缩放等属性动画。
更多关于HarmonyOS鸿蒙Next实现元素进场和离场动画示例代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中实现元素进场和离场动画,可以使用TransitionEffect
提供的平移动画(SLIDE
)和非对称过渡(asymmetric
)两种方式。示例代码展示了两种典型场景:
-
平移动画实现左进右出效果:
- 使用
TransitionEffect.SLIDE
创建默认的平移效果 - 通过
animation
方法设置动画持续时间为500ms
- 使用
-
非对称过渡实现右进左出效果:
- 使用
TransitionEffect.asymmetric
分别定义进场(END
)和离场(START
)方向 - 同样设置500ms的动画持续时间
- 使用
关键点:
TransitionEdge.START/END
控制动画方向animation
方法配置动画参数- 两种方式可以灵活组合使用
这些API可以轻松实现常见的页面过渡效果,开发者可以根据实际需求调整动画方向和时长参数。