细解鸿蒙之元服务UX上架标准-元服务启动过程无自定义动画
是否必须遵守:必须
标准项描述:
平台针对元服务启动过程提供了系统原生启动动效,不可在系统启动动效的基础上叠加使用其他自定义加载效果。
无自定义动画
动画的概念
动画是一种通过连续播放一系列图像或帧来产生动态效果的视觉表现形式。在软件应用中,动画可以用于各种目的,如引导用户操作、展示数据变化、增强用户体验等。自定义动画则是根据特定需求和设计思路,由用户或开发者自行创建的动画效果。
无自定义动画的含义
在元服务启动过程中无自定义动画意味着在启动过程中不采用额外的、专门设计的动画效果。通常,启动过程会按照预设的程序逻辑进行,没有额外的动画展示。例如,当用户启动一个应用程序时,系统会直接显示应用的界面,而不会出现像淡入、旋转、缩放等自定义动画效果。
无自定义动画的优势
-
简洁性:减少了不必要的动画元素,使启动过程更加简洁明了。用户能够快速地进入应用程序,无需等待动画的播放,提高了操作效率。
-
稳定性:自定义动画可能会引入额外的代码和资源,增加系统的复杂性。无自定义动画可以降低系统出现故障的风险,提高系统的稳定性和可靠性。
-
兼容性:不同设备和操作系统对动画的支持程度可能不同。无自定义动画可以避免因动画兼容性问题而导致的启动失败或异常情况,确保应用程序在各种环境下都能正常运行。
-
性能优化:动画的播放需要消耗一定的系统资源。无自定义动画可以减少资源的占用,提高系统的性能,使应用程序能够更快地启动。
测试方法:启动元服务,检查元服务启动过程中,无系统加载动效外的其他自定义加载效果。
判定标准:进入元服务时,展示元服务系统原生启动动效,动效完成后直接进入首页,过程中无其他动效。 --javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown
减少如下动画的使用
// 第一步:使用@AnimatableExtend装饰器,自定义可动画属性接口
// 为 Text 组件扩展可动画的宽度属性
@AnimatableExtend(Text)
function animatableWidth(width: number) {
// 调用系统属性接口,逐帧回调函数每帧修改可动画属性的值,实现逐帧布局的效果。
.width(width);
}
@Entry
@Component
struct AnimatablePropertyExample {
// 存储文本的宽度,作为可动画的状态变量
@State textWidth: number = 80;
build() {
Column() {
// 显示文本 "AnimatableProperty"
Text("AnimatableProperty")
// 第二步:将自定义可动画属性接口设置到组件上
.animatableWidth(this.textWidth)
// 第三步:为自定义可动画属性接口绑定动画
.animation({ duration: 2000, curve: Curve.Ease })
// 创建一个按钮,文本为 "Play"
Button("Play")
.onClick(() => {
// 第四步:改变自定义可动画属性的参数,产生动画
this.textWidth = this.textWidth == 80? 160 : 80;
})
}
// 列的宽度为 100%
.width("100%")
// 列的内边距为 10
.padding(10);
}
}
PS:实际项目中如有出入,请告知博主,博主会第一时间修改得哇~