鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ImageAnimator组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ImageAnimator组件

一、操作环境

操作系统:  Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1+

二、ImageAnimator组件

提供分隔器组件,分隔不同内容块/内容元素。

子组件

接口

ImageAnimator()

属性

除支持通用属性外,还支持以下属性:

参数名称

参数类型

参数描述

images

Array<ImageFrameInfo>

设置图片帧信息集合。每一帧的帧信息(ImageFrameInfo)包含图片路径、图片大小、图片位置和图片播放时长信息,详见ImageFrameInfo属性说明。

默认值:[]

说明:

不支持动态更新。

state

AnimationStatus

默认为初始状态,用于控制播放状态。

默认值:AnimationStatus.Initial

duration

number

单位为毫秒,默认时长为1000ms;duration为0时,不播放图片;值的改变只会在下一次循环开始时生效;当images中任意一帧图片设置了单独的duration后,该属性设置无效。

默认值:1000

reverse

boolean

设置播放顺序。false表示从第1张图片播放到最后1张图片; true表示从最后1张图片播放到第1张图片。

默认值:false

fixedSize

boolean

设置图片大小是否固定为组件大小。 true表示图片大小与组件大小一致,此时设置图片的width 、height 、top 和left属性是无效的。false表示每一张图片的width 、height 、top和left属性都要单独设置。

默认值:true

preDecode(deprecated)

number

预解码的图片数量。例如该值设为2,则播放当前页时会提前加载后面两张图片至缓存以提升性能。

从API version9开始废弃。

默认值:0

fillMode

FillMode

设置动画开始前和结束后的状态,可选值参见FillMode说明。

默认值:FillMode.Forwards

iterations

number

默认播放一次,设置为-1时表示无限次播放。

默认值:1

ImageFrameInfo对象说明

参数名称

参数类型

必填

参数描述

src

string | Resource9+

图片路径,图片格式为svg,png和jpg,从API Version9开始支持Resource类型的路径。

width

number | string

图片宽度。

默认值:0

height

number | string

图片高度。

默认值:0

top

number | string

图片相对于组件左上角的纵向坐标。

默认值:0

left

number | string

图片相对于组件左上角的横向坐标。

默认值:0

duration

number

每一帧图片的播放时长,单位毫秒。

默认值:0

事件

除支持通用事件外,还支持以下事件:

名称

功能描述

onStart(event: () => void)

状态回调,动画开始播放时触发。

onPause(event: () => void)

状态回调,动画暂停播放时触发。

onRepeat(event: () => void)

状态回调,动画重复播放时触发。

onCancel(event: () => void)

状态回调,动画取消播放时触发。

onFinish(event: () => void)

状态回调,动画播放完成时触发。

示例

代码
// xxx.ets
@Entry
@Component
struct ImageAnimatorExample {@State state: AnimationStatus = AnimationStatus.Initial@State reverse: boolean = false@State iterations: number = 1build() {Column({ space: 10 }) {ImageAnimator().images([{src: $r('app.media.img1')},{src: $r('app.media.img2')},{src: $r('app.media.img3')},{src: $r('app.media.img4')}]).duration(2000).state(this.state).reverse(this.reverse).fillMode(FillMode.None).iterations(this.iterations).width(340).height(240).margin({ top: 100 }).onStart(() => {console.info('Start')}).onPause(() => {console.info('Pause')}).onRepeat(() => {console.info('Repeat')}).onCancel(() => {console.info('Cancel')}).onFinish(() => {console.info('Finish')this.state = AnimationStatus.Stopped})Row() {Button('start').width(100).padding(5).onClick(() => {this.state = AnimationStatus.Running}).margin(5)Button('pause').width(100).padding(5).onClick(() => {this.state = AnimationStatus.Paused     // 显示当前帧图片}).margin(5)Button('stop').width(100).padding(5).onClick(() => {this.state = AnimationStatus.Stopped    // 显示动画的起始帧图片}).margin(5)}Row() {Button('reverse').width(100).padding(5).onClick(() => {this.reverse = !this.reverse}).margin(5)Button('once').width(100).padding(5).onClick(() => {this.iterations = 1}).margin(5)Button('infinite').width(100).padding(5).onClick(() => {this.iterations = -1 // 无限循环播放}).margin(5)}}.width('100%').height('100%')}
}
图例

你有时间常去我家看看我在这里谢谢你啦...

我家地址:亚丁号

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,

谁敢横刀立马?
惟有点赞加关注大军。

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

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

相关文章

HiveSQL——设计一张最近180天的注册、活跃留存表

0 问题描述 现有一个用户活跃表user_active(user_id,active_date)、 用户注册表user_regist(user_id,regist_date)&#xff0c;表中分区字段都为dt(yyyy-MM-dd)&#xff0c;用户字段均为user_id; 设计一张 1-180天的注册活跃留存表&#xff1b;表结构如下&#xff1a; 1 数据分…

ctfshow-php特性(web102-web115)

目录 web102 web103 web104 web105 web106 web107 web108 web109 web110 web111 web112 web113 web114 web115 实践是检验真理的 要多多尝试 web102 <?php highlight_file(__FILE__); $v1$_POST[V1]; $v2$_GET[v2]; $v3$_GET[v3]; $v4is_numeric($v2)and is…

controller-manager学习三部曲之二:源码学习

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 作为《controller-manager学习三部曲》系列的第二篇&#xff0c;前面通过shell脚本找到了程序的入口&#xff0c;接下来咱们来学习controller-mana…

一文彻底搞懂布隆过滤器

文章目录 1. 基本原理2. 布隆过滤器的优点3. 布隆过滤器的缺点4. 布隆过滤器的应用场景 布隆过滤器&#xff08;Bloom Filter&#xff09;是一种空间高效的概率数据结构&#xff0c;用于判断一个元素是否在一个集合中。它使用位数组和一系列哈希函数来实现。 1. 基本原理 首先…

综合例题及补充

目录 查询员工的编号、姓名、雇佣日期&#xff0c;以及计算出每一位员工到今天为止被雇佣的年数、月数、天数 计算出年 计算月 计算天数 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 查询员工的编号、姓名、雇佣日期&#xff0c…

项目排期 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 项目组共有N个开发人员&#xff0c;项目经理接到了M个独立的需求&#xff0c;每个需求的工作量不同&#xff0c;且每个需求只能由一个开发人员独立完成&#xff0…

Codeforces Round 303 (Div. 2)C. Kefa and Park(DFS、实现)

文章目录 题面链接题意题解代码总结 题面 链接 C. Kefa and Park 题意 求叶节点数量&#xff0c;叶节点满足&#xff0c;从根节点到叶节点的路径上最长连续1的长度小于m 题解 这道题目主要是实现&#xff0c;当不满足条件时直接返回。 到达叶节点后统计答案&#xff0c;用…

机器学习:卷积介绍及代码实现卷积操作

传统卷积运算是将卷积核以滑动窗口的方式在输入图上滑动&#xff0c;当前窗口内对应元素相乘然后求和得到结果&#xff0c;一个窗口一个结果。相乘然后求和恰好也是向量内积的计算方式&#xff0c;所以可以将每个窗口内的元素拉成向量&#xff0c;通过向量内积进行运算&#xf…

游泳耳机怎么选?四大口碑最好游泳耳机推荐

在挑选适合游泳的耳机时&#xff0c;选择合适的产品至关重要。游泳不仅是一项身体锻炼&#xff0c;更是一种享受。佩戴耳机能够为游泳者提供更加愉悦的体验&#xff0c;但确保所选耳机符合水中使用的要求至关重要。 传统的有线耳机和非防水设计的蓝牙耳机并不适合水中使用&…

Codeforces Round 923 (Div. 3) C. Choose the Different Ones(Java)

比赛链接&#xff1a;Round 923 (Div. 3) C题传送门&#xff1a;C. Choose the Different Ones! 题目&#xff1a; ** Example** ** input** 6 6 5 6 2 3 8 5 6 5 1 3 4 10 5 6 5 6 2 3 4 5 6 5 1 3 8 10 3 3 3 4 1 3 5 2 4 6 2 5 4 1 4 7 3 4 4 2 1 4 2 2 6 4 4 2 1 5 2 3 …

[Doris] Doris的安装和部署 (二)

文章目录 1.安装要求1.1 Linux操作系统要求1.2 软件需求1.3 注意事项1.4 内部端口 2.集群部署2.1 操作系统安装要求2.2 下载安装包2.3 解压2.4 配置FE2.5 配置BE2.6 添加BE2.7 FE 扩容和缩容2.8 Doris 集群群起脚本 3.图形化 1.安装要求 1.1 Linux操作系统要求 1.2 软件需求 1…

四、OpenAI之文本生成模型

文本生成模型 OpenAI的文本生成模型(也叫做生成预训练的转换器(Generative pre-trained transformers)或大语言模型)已经被训练成可以理解自然语言、代码和图片的模型。模型提供文本的输出作为输入的响应。对这些模型的输入内容也被称作“提示词”。设计提示词的本质是你如何对…

JS游戏项目合集【附源码】

文章目录 一&#xff1a;迷宫小游戏二&#xff1a;俄罗斯方块三&#xff1a;压扁小鸟 一&#xff1a;迷宫小游戏 【迷宫游戏】是一款基于HTML5技术开发的游戏&#xff0c;玩法简单。玩家需要在一个迷宫中找到出口并成功逃脱&#xff0c;本项目还有自动寻路&#xff08;Track&a…

Python包管理器

文章目录 写在前面的话 切换安装源 查看包 检索包 安装特定的包 升级包 卸载包 生成冻结包 三方包的命名规则 写在后面的话 References 写在前面的话 在本章节中&#xff0c;我们介绍一下python最常用的一个包管理工具pip 一般来说下载我们python 的运行环境的时候在安装的时候…

监测Nginx访问日志502情况后并做相应动作

今天带大家写一个比较实用的脚本哈 原理&#xff1a; 假设服务器环境为lnmp&#xff0c;近期访问经常出现502现象&#xff0c;且502错误在重启php-fpm服务后消失&#xff0c;因此需要编写监控脚本&#xff0c;一旦出现502&#xff0c;则自动重启php-fpm服务 场景&#xff1a; 1…

Java奠基】玩转字符串从基础到高级的操作技巧

目录 初识String StringBuilder StringJoiner 字符串原理 综合练习 初识String java.lang.String 类代表字符串&#xff0c;Java程序中的所有字符串文字(例如“abc”)都为此类的对象&#xff0c;例&#xff1a; String name "张三" 当使用双引号直接赋值时&…

Atcoder ABC338 F - Negative Traveling Salesman

Negative Traveling Salesman&#xff08;消极的旅行推销员&#xff09; 时间限制&#xff1a;6s 内存限制&#xff1a;1024MB 【原题地址】 所有图片源自Atcoder&#xff0c;题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】…

计算机网络——08应用层原理

应用层原理 创建一个新的网络 编程 在不同的端系统上运行通过网络基础设施提供的服务&#xff0c;应用进程批次通信如Web Web服务器软件与浏览器软件通信 网络核心中没有应用层软件 网络核心没有应用层功能网络应用只能在端系统上存在 快速网络应用开发和部署 网络应用…

lv15 平台总线框架及案例 2

一、总线、设备、驱动 硬编码式的驱动开发带来的问题&#xff1a; 垃圾代码太多 结构不清晰 一些统一设备功能难以支持 开发效率低下 1.1 初期解决思路&#xff1a;设备和驱动分离 struct device来表示一个具体设备&#xff0c;主要提供具体设备相关的资源&#xff08;如…

Python爬虫之文件存储#5

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx 文件存储形式多种多样&#xff0c;比如可以保存成 TXT 纯文本形式&#xff0c;也可以保存为 JSON 格式、CSV 格式等&#xff0c;本节就来了解一下文本文件的存储方式。 TXT 文本存储 将数据保存到 TXT 文本的操作非常简单&am…