- 本篇文章介绍了如何实现一个简单的 loading 加载动画,并且在文末提供了一个 demo 工程供读者下载学习。
- 作为一个 OpenHarmony 南向开发者,接触北向应用开发并不多。北向开发 ArkUI 老是改来改去,对笔者这样的入门选手来说学习成本其实非常大,希望后面可以慢慢稳定下来吧。最近努力学习了一些,下面将学习经验分享如下:
- 通过本文您将了解:
1、使用 ImageAnimator 帧动画组件实现一个自定义 loading 加载动画。
2、使用 Progress 进度条组件实现 loading 加载动画。
笔者开发环境:(文末附有 demo ArkUI 应用源码,一定得是以下 IDE 和 SDK 版本或者更高版本才能编译运行,这也是坑点之一!!!)
- 开发板:润和软件 DAYU200 开发板
- OpenHarmony 版本:OpenHarmony3.2 Beta5
- IDE:DevEco Studio 3.1.0.200
- SDK:API9(3.2.10.6)
效果演示
![[OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区 [OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区](https://upload-images.jianshu.io/upload_images/23087443-2a6ec8ee2f8f0b87.gif?imageMogr2/auto-orient/strip)
1. 涉及到的知识点 (先大概了解一下,知道要用到这些东西就行)
- 创建自定义组件
- ImageAnimator 帧动画组件
- Progress 进度条组件
- CustomDialogController 自定义弹窗组件
- 定时器 API
- Row 组件
沿水平方向布局容器。
- OpenHarmony 组件导读
2、使用 ImageAnimator 帧动画组件自定义 loading 动画开发步骤:
2.1 将自定义的 loading 动画的图片帧放在 ets 目录下
- 组成自定义的 loading 动画的图片帧,详情请见文末提供的 demo 工程
![[OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区 [OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区](https://upload-images.jianshu.io/upload_images/23087443-b096dcf14667aa3c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 在 entry\src\main\ets 新建一个 loading 目录,将其放在该目录下
![[OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区 [OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区](https://upload-images.jianshu.io/upload_images/23087443-51f3b3101a056fde.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2.2 用帧动画组件将动画封装成一个自定义组件
- ImageAnimator 帧动画组件
- 在 entry\src\main\ets\pages 下新建.ets 文件
2.3 在主页面实现自定义的 loading 动画(完整代码见文末 demo 工程)
- 使用 CustomDialogController 自定义弹窗组件 自定义一个弹窗用于在主页面实现 loading 动画
![[OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区 [OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区](https://upload-images.jianshu.io/upload_images/23087443-efe31597c426c359.gif?imageMogr2/auto-orient/strip)
3、使用 Progress 进度条组件实现 loading 加载动画开发步骤:
Progress 进度条组件
(完整代码见文末 demo 工程)
![[OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区 [OpenHarmony北向应用开发] 做一个 loading加载动画-鸿蒙开发者社区](https://upload-images.jianshu.io/upload_images/23087443-5874817c08e37226.gif?imageMogr2/auto-orient/strip)