前言

ArkUI为我们提供了一种组件动画实现的API,因此只要调用API即可,不必考虑动画的每一帧是如何填充的,因此我们想利用ArkUI实现组件的动画时,只需要关注两点:一是组件起始和结束时的状态(位置),二是动画播放时的信息,例如时长和速度等

文章来源于《黑马程序员-HarmonyOS4.0+next星河版》课程地址

比如,我想将一张图片从右边动态移动到左边位置

.position属性表示组件的初始位置

.rotate属性表示组件旋转角度

将来的实现效果如下图所示:实现的效果还是很不错的

属性动画

属性动画是通过设置组件的animation属性来给组件添加动画,当组件的width、height、0pacity、backgroundColor、scale、rotate、translate等属性变更时,可以实现渐变过渡效果。

拿代码举例:

给组件添加属性动画,其实就是给组件多加一个animation属性,ArkUI就会自主监控组件的样式变化,当用户对组件的属性做修改时,ArkUI就会检测到并对动画做每一帧的修改,从而实现动画的一个渐变过渡效果,因此一个动画就出来了

注:animation属性必须放在其他样式属性的后面,不然检测不到该属性的变化

以下是animation的一些参数:

如果想让动画变得丝滑起来,可以添加显示动画

显示动画:

显式动画是通过全局animateTo函数来修改组件属性,实现属性变化时的渐变过渡效果

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐