本文的目的是,了解一下HarmonyOS动画体系中的分类。有个大致的了解即可。

动效与动画简介

动画,是客户端提升界面交互用户体验的一个重要的方式。可以使应用程序更加生动灵越,提高用户体验。

HarmonyOS对于界面的交互方面,围绕回归本源的设计理念,打造自然,流畅品质一提的操作体验。

在视觉效果方面,将动效特征划分为了五大类。

  • 特征动效:指在用户界面中突出某个特定元素的动画效果。可以吸引用户的注意力,提升用户体验,如下图所示。
  • 转场动效:指在不同页面或者视图之间切换时使用的动画效果。通过转场动效,可以平滑的过度到下一个页面或者视图,增加界面间的连贯性和流畅性。
  • 手势动效:根据用户的手势操作而产生的动画效果。通过手势动效,可以增强用户与设备之间的互动体验。另外,HarmomyOS在动画的交互设计上遵循力的原则,通常它的动画效果,会出现组件之间力与力的交互。如下图中手势动效中,用户手指拉的太长,间距是会产生变化的,且变化距离遵循力的交互特征。手势具体指的是: 点击, 滑动,翻动,夹捏和拖拽。
  • 微动效:指的是界面中细微的动画效果。用来增加界面的生动感和交互性。常见于按钮的点击效果,图标的变化,文本的出现等。
  • 插画动效:指的是界面中基于插画的动画效果。可以为界面增加趣味性和个性化。


动画分类

系统动画

  • 属性动画:通过更改组件的属性值实现渐变过渡效果,例如缩放,平移,旋转,透明度等。支持的属性包括
    • width, height //这个可能会导致重新测算组件树大小,也可能会重新测算摆放位置。对性能要求极高情况下不建议使用
    • backgroundColor, opacity
    • scale, rotate, translate等
  • 显式动画:可以通过用户的直接操作或者应用程序的特定逻辑来触发。例如用户点击按钮时的缩放动画,列表展开时的渐变动画等。HarmonyOS提供了全局animateTo显式动画接口来指定由于闭包代码导致状态变化的插入过渡动效。
  • 转场动画:转场动画可以实现平滑的界面切换效果,例如页面之间的淡入淡出、滑动切换、旋转切换等,增强了界面的连贯性和吸引力。
  • 路径动画:指对象沿着指定路径进行移动的动画效果。通过设置路径可以实现视图沿着预定义的路径进行移动,例如曲线运动、圆周运动等,为用户呈现更加生动的交互效果。
  • 粒子动画:通过大量小颗粒的运动来形成整体动画效果。通过对粒子在颜色、透明度、大小、速度、加速度、自旋角度等维度变化做动画,来营造一种氛围感。
  • 关键帧动画:在UIContext中提供keyframeAnimateTo接口来指定若干个关键帧状态,实现分段的动画。

资源调用

  • GIF动画:GIF动画可以在特定位置循环播放,为应用界面增添生动的视觉效果。在开发中,可以使用Image组件来实现GIF动画的播放。通过在特定位置放置Image组件,并加载GIF格式的图像,开发者可以轻松实现动画效果。
  • 帧动画:通过逐帧播放一系列图片来实现动画效果,在开发中可以使用ImageAnimator组件来实现帧动画的播放。开发者可以配置需要播放的图片列表,以及每张图片的播放时长,从而实现精细的动画效果。

第三方库

  • Lottie:解析Adobe After Effects软件通过Bodymovin插件导出的json格式的动画,并在移动设备上进行本地渲染。Lottie动画可以在各种屏幕尺寸和分辨率上呈现,并且支持动画的交互性,通过添加触摸事件或其他用户交互操作,使动画更加生动和具有响应性。
  • SVG:通过将SVG图片解析并渲染到页面上并对SVG图片样式动态改变实现动画。OHOS-SVG不仅能够提供高质量的图形呈现,而且还能够实现图形样式的实时更新,为用户带来更加丰富的视觉体验。

Logo

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

更多推荐