鸿蒙Lottie动画-实现控制动画的播放、暂停、倍速播放、播放顺序

介绍

本示例展示了lottie对动画的操作功能。引入Lottie模块,实现控制动画的播放、暂停、倍速播放、播放顺序、播放到指定帧停止或从指定帧开始播放、侦听事件等功能,动画资源路径必须是json格式。

效果预览

使用说明:

  1. 进入页面默认开始2016动画,点击请选择进行选择动画资源;
  2. 上面部分播放暂停是对两个动画进行控制,下面部分播放暂停功能是对grunt动画控制;
  3. 点击销毁动画功能之后需要重新选择动画资源才可以进行其余功能操作。

工程目录

entry/src/main/ets/
|---common
|   |---data.json                           // 2016新年动画
|   |---grunt.json                          // grunt动画
|---pages
|   |---Lottie.ets                          // 首页
|---utils                                  
|   |---Logger.ts                           // 日志工具

具体实现

  • 页面中使用了Lottie对象控制动画的一系列操作,源码参考Lottie.ets:初始化动画:在canvas的onReady里使用loadAnimation加载动画,须提前声明Animator(‘__lottie_ets’)对象,并在Canvas完成布局后调用;Lottie动画操作:lottie.play播放动画,lottie.pause暂停播放,lottie.setDirection设置播放顺序

相关权限

不涉及。

约束与限制

  1. 本示例支持标准系统上运行,支持设备:RK3568;
  2. 本示例已适配API version 9版本SDK,版本号:3.2.11.9;
  3. 本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可编译运行;
  4. 本示例需要使用animator.d.ts系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考替换指南。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/Solutions/Game/Lottie/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→《HarmonyOS教学视频

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等.....视频教程

鸿蒙生态应用开发白皮书V2.0PDF:

获取完整版白皮书方式请点击→《鸿蒙生态应用开发白皮书V2.0PDF》

鸿蒙 (Harmony OS)开发学习手册

一、入门必看

  1. 应用开发导读(ArkTS)
  2. ……

二、HarmonyOS 概念

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全
  5. ........

三、如何快速入门?《做鸿蒙应用开发到底学习些啥?》

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

四、开发基础知识

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

五、基于ArkTS 开发

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

更多了解更多鸿蒙开发的相关知识可以参考:《做鸿蒙应用开发到底学习些啥?》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/796981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python人工智能应用---中文分词词频统计

目录 1.中文分词 2.循环分别处理列表 (1)分析 (2)代码解决 3.词袋模型的构建 (1)分析需求 (2)处理分析 1.先实现字符串的连接 2.字符串放到新的列表里面 4.提取高频词语 &…

一些好玩的东西

这里写目录标题 递归1.递归打印数组和链表?代码实现原理讲解二叉树的 前 中 后 序位置 参考文章 递归 1.递归打印数组和链表? 平常我们打印数组和链表都是 迭代 就好了今天学到一个新思路–>不仅可以轻松正着打印数组和链表 , 还能轻松倒着打印(用的是二叉树的前中后序遍…

Linux基础篇:Linux第三方软件仓库——可以让Linux变得有趣的软件仓库

Linux第三方软件仓库——可以让Linux变得有趣的软件仓库 一、epel源介绍 EPEL(Extra Packages for Enterprise Linux)源是一个由Fedora项目组维护的第三方软件仓库,为企业级Linux发行版(如Red Hat Enterprise Linux(…

清明作业 c++

1.封装一个类&#xff0c;实现对一个数求累和阶乘质数 #include <iostream>using namespace std; int mproduct(int a){if(a>1){return a*mproduct((a-1));}else{return 1;} } class number{int a; public:number():a(5){};number(int a):a(a){}void set(int a){thi…

c#编程基础学习之数组

目录 数组排序数组System.Linq 命名空间其他创建数组的方法 数组 数组用于在单个变量中存储多个值&#xff1b; 声明数组需定义带方括号[]的变量类型&#xff1b; string[] cars {"MARRY", "BOB", "Far", "Aada"}; //字符串数组 in…

ChatGLM-6B实战微调(P-tuning-v2、LORA)

硬件准备 GPU: NVIDIA Tesla A30 24GB python 3.10 pytorch 1.11 transformers 4.27.1 实验环境 Change your pip source pip config set global.extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple # Writing to /opt/conda/pip.conf pip config set global.inde…

【嵌入式学习】FreeRTOS day04.05

练习 1.总结二进制信号量和计数型信号量的区别&#xff0c;以及他们的使用场景。 二进制信号量&#xff1a;信号量的数值只有0和1&#xff08;用于共享资源的访问&#xff09; 计数性信号量&#xff1a;计数型信号量的值一般是大于或者等于2&#xff08;生产者和消费者模型&am…

软件设计原则:开闭原则

定义 开闭原则&#xff08;Open-Closed Principle, OCP&#xff09;是面向对象设计的基本原则之一&#xff0c;由 Bertrand Meyer 提出。它指出软件实体&#xff08;类、模块、函数等&#xff09;应该对扩展开放&#xff0c;对修改封闭。这意味着软件应该设计成在不修改现有代…

如何从vue项目界面上看出来node.js版本

一&#xff1a; 要从 Vue 项目界面上看出当前使用的 Node.js 版本&#xff0c;你可以通过以下几种方式进行查看&#xff1a; 开发者工具&#xff1a;在浏览器中打开 Vue 项目&#xff0c;并打开开发者工具&#xff08;一般是按下 F12 键&#xff09;。在开发者工具的控制台选项…

【复读EffectiveC++16】条款16:成对使用new和delete时要采取相同形式

条款16&#xff1a;成对使用new和delete时要采取相同形式 此条款&#xff0c;依然是针对对象管理资源的补充&#xff0c;内容分为三个部分&#xff1a; 错误案例为什么要采取相同形式需要注意什么 一、错误案例 取原书的例子&#xff1a; std::string* stringArray new s…

浏览器工作原理与实践--DOM树:JavaScript是如何影响DOM树构建的

在上一篇文章中&#xff0c;我们通过开发者工具中的网络面板&#xff0c;介绍了网络请求过程的几种性能指标以及对页面加载的影响。 而在渲染流水线中&#xff0c;后面的步骤都直接或者间接地依赖于DOM结构&#xff0c;所以本文我们就继续沿着网络数据流路径来介绍DOM树是怎么生…

MATLAB实现数值求解高阶常微分方程组

一、高阶常微分方程组 高阶常微分方程是指包含多个高阶常微分方程的系统。这些方程通常涉及多个未知函数及其高阶导数。解决高阶常微分方程组通常比解决单个高阶常微分方程更为复杂&#xff0c;因为需要同时考虑多个方程和多个未知函数之间的关系。 一般来说&#xff0c;解决…

SpringBoot面试题积累

面试题15道&#xff1a;腾讯二面&#xff1a;SpringBoot 有几种读取配置文件的方式&#xff1f;你详细说一下每种方式是怎么使用的 &#xff1f;_哔哩哔哩_bilibili 1. SpringBoot 有几种读取配置文件的方式&#xff1f;你详细说一下每种方式是怎么使用的 &#xff1f; 2. 为…

【PyQt5篇】使用QtDesigner添加控件和槽

文章目录 &#x1f354;使用QtDesigner进行设计&#x1f6f8;在代码中添加信号和槽 &#x1f354;使用QtDesigner进行设计 我们首先使用QtDesigner设计界面 得到代码login.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0&q…

金融中的数学模型

平稳时间序列 时间序列的基本统计特性&#xff0c;如均值、方差和自相关等&#xff0c;在时间上不随时间的推移而发生显著的变化。 平稳时间序列通常具有以下特征&#xff1a; 均值不随时间变化&#xff1a;序列的均值在时间上保持恒定。方差不随时间变化&#xff1a;序列的…

CSS属性计算逻辑

CSS 属性计算逻辑 首先&#xff0c;假设在 HTML 中有这么一段代码&#xff0c;在 body 中有一个 h1 标题&#xff1a; <body><h1>这是一个h1标题</h1> </body>目前我们没有设置该 h1 的任何样式&#xff0c;但是却能看到该 h1 有一定的默认样式&…

2024 年最新使用 Python 部署腾讯云服务器搭建企业微信机器人应用详细教程

企业微信机器人是一种可以在企业微信工作群中执行特定任务的自动化工具。它具备丰富的功能&#xff0c;可以帮助企业提高团队协作效率&#xff0c;简化工作流程&#xff0c;并为员工提供更好的工作体验。 获取企业 ID 信息 企业信息页面链接地址&#xff1a;https://work.wei…

oracle pdb从12.1迁移到19.20

oracle pdb从12.1迁移到19.20 1 unplug &#xff08;12c的环境执行&#xff09; SQL> alter pluggable database VINCENT_TEST close immediate; SQL> alter pluggable database VINCENT_TEST unplug into /u01/backup/temp_20240401/VINCENT_TEST.xml;2 plug &#xf…

Python常用算法--排序算法【附源码】

应用具体python案例方式展示各种排序的要点,特别是希尔排序、插入排序、选择排序、冒泡排序、堆排序、快速排序、归并排序七个具体的排序算法。 一、希尔排序: 解释:希尔排序(Shell Sort)是一种插入排序的改进版本,也被称为缩小增量排序。希尔排序通过比较相距一定间隔…

Xshell Mobaxterm等终端工具连接不上服务器,显示 SSH服务器拒绝密码。请再试一次。解决办法

问题解决办法&#xff1a; &#xff08;1&#xff09;需要查看配置SSH密钥时&#xff0c;输入的password密码和当前users_name cd /home/: 查看当前系统下的用户名 注意上图中的登录名是服务器端linux下自己设置的user_name用户名&#xff1a; 所以需要将fl改为&#xff1a…