鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator)

这篇具有很好参考价值的文章主要介绍了鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提供帧动画组件来实现逐帧播放图片的能力,可以配置需要播放的图片列表,每张图片可以配置时长。

说明:

该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

ImageAnimator()

从API version 10开始,该接口支持在ArkTS卡片中使用。

属性

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

参数名称 参数类型 参数描述
images Array<ImageFrameInfo> 设置图片帧信息集合。每一帧的帧信息(ImageFrameInfo)包含图片路径、图片大小、图片位置和图片播放时长信息,详见ImageFrameInfo属性说明。
默认值:[]
说明:
不支持动态更新。
从API version 10开始,该接口支持在ArkTS卡片中使用。
state AnimationStatus 默认为初始状态,用于控制播放状态。
默认值:AnimationStatus.Initial
从API version 10开始,该接口支持在ArkTS卡片中使用。
duration number 单位为毫秒,默认时长为1000ms;duration为0时,不播放图片;值的改变只会在下一次循环开始时生效;当images中任意一帧图片设置了单独的duration后,该属性设置无效。
默认值:1000
从API version 10开始,该接口支持在ArkTS卡片中使用。
reverse boolean 设置播放方向。false表示从第1张图片播放到最后1张图片; true表示从最后1张图片播放到第1张图片。
默认值:false
从API version 10开始,该接口支持在ArkTS卡片中使用。
fixedSize boolean 设置图片大小是否固定为组件大小。 true表示图片大小与组件大小一致,此时设置图片的width 、height 、top 和left属性是无效的。false表示每一张图片的width 、height 、top和left属性都要单独设置。
默认值:true
从API version 10开始,该接口支持在ArkTS卡片中使用。
preDecode(deprecated) number 预解码的图片数量。例如该值设为2,则播放当前页时会提前加载后面两张图片至缓存以提升性能。
从API version 9开始废弃。
默认值:0
fillMode FillMode 设置当前播放方向下,动画开始前和结束后的状态,可选值参见FillMode说明。动画结束后的状态由fillMode和reverse属性共同决定。例如,fillMode为Forwards表示停止时维持动画最后一个关键帧的状态,若reverse为false则维持正播的最后一帧,即最后一张图,若reverse为true则维持逆播的最后一帧,即第一张图。
默认值:FillMode.Forwards
从API version 10开始,该接口支持在ArkTS卡片中使用。
iterations number 默认播放一次,设置为-1时表示无限次播放。
默认值:1

ImageFrameInfo对象说明

参数名称 参数类型 必填 参数描述
src string | Resource9+ 图片路径,图片格式为svg,png和jpg,从API Version9开始支持Resource类型的路径。
从API version 10开始,该接口支持在ArkTS卡片中使用。
width number | string 图片宽度。
默认值:0
从API version 10开始,该接口支持在ArkTS卡片中使用
height number | string 图片高度。
默认值:0
从API version 10开始,该接口支持在ArkTS卡片中使用
top number | string 图片相对于组件左上角的纵向坐标。
默认值:0
从API version 10开始,该接口支持在ArkTS卡片中使用
left number | string 图片相对于组件左上角的横向坐标。
默认值:0
从API version 10开始,该接口支持在ArkTS卡片中使用
duration number 每一帧图片的播放时长,单位毫秒。
默认值:0

事件

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

名称 功能描述
onStart(event: () => void) 状态回调,动画开始播放时触发。
从API version 10开始,该接口支持在ArkTS卡片中使用。
onPause(event: () => void) 状态回调,动画暂停播放时触发。
从API version 10开始,该接口支持在ArkTS卡片中使用。
onRepeat(event: () => void) 状态回调,动画重复播放时触发。
onCancel(event: () => void) 状态回调,动画返回最初状态时触发。
从API version 10开始,该接口支持在ArkTS卡片中使用。
onFinish(event: () => void) 状态回调,动画播放完成时或者停止播放时触发。
从API version 10开始,该接口支持在ArkTS卡片中使用。

示例

// xxx.ets
@Entry
@Component
struct ImageAnimatorExample {
  @State state: AnimationStatus = AnimationStatus.Initial
  @State reverse: boolean = false
  @State iterations: number = 1

  build() {
    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%')
  }
}

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

最后,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(Harmony NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(Harmony NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

 获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(Harmony NEXT)最新学习路线

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

  •  HarmonOS基础技能

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

  • HarmonOS就业必备技能 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI
  •  HarmonOS多媒体技术

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

  • 鸿蒙NaPi组件进阶

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

  • HarmonOS高级技能

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

  • 初识HarmonOS内核 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI
  • 实战就业级设备开发

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

《鸿蒙生态应用开发V2.0白皮书》

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator),鸿蒙,鸿蒙-ArkTS,harmonyos,华为,鸿蒙,android,鸿蒙系统,ArkTS,ArkUI文章来源地址https://www.toymoban.com/news/detail-840027.html

到了这里,关于鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageAnimator)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:安全区域)

    安全区域是指页面的显示区域,默认不与系统设置的非安全区域比如状态栏、导航栏区域重叠,默认情况下开发者开发的界面都被布局在安全区域内。提供属性方法允许开发者设置组件绘制内容突破安全区域的限制,通过expandSafeArea属性支持组件不改变布局情况下扩展其绘制

    2024年04月29日
    浏览(40)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:边框设置)

    设置组件边框样式。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 border(value: BorderOptions) 设置边框样式。 卡片能力:  从API version 9开始,该接口支持在ArkTS卡片中使用。 系统能力:  SystemCapability.ArkUI.ArkUI.Full 参数: 参数

    2024年04月23日
    浏览(51)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Scroll)

    可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸时,内容可以滚动。 说明: 该组件从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 该组件嵌套List子组件滚动时,若List不设置宽高,则默认全部加载,在对性能有要求的场

    2024年04月13日
    浏览(72)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(自定义事件分发)

    ArkUI在处理触屏事件时,会在触屏事件触发前进行按压点和组件区域的触摸测试,来收集需要响应触屏事件的组件,再基于触摸测试结果分发相应的触屏事件。在父节点,开发者可以通过onChildTouchTest决定如何让子节点去做触摸测试,影响子组件的触摸测试,最终影响后续的触

    2024年04月14日
    浏览(56)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Flex)

    以弹性方式布局子组件的容器组件。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。 Flex组件主轴默认不设置时撑满父容

    2024年04月11日
    浏览(50)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:组件标识)

    id为组件的唯一标识,在整个应用内唯一。本模块提供组件标识相关接口,可以获取指定id组件的属性,也提供向指定id组件发送事件的功能。 说明: 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 名称 参数说明 描述 id string 组件

    2024年04月22日
    浏览(65)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:List)

    列表包含一系列相同宽度的列表项。适合连续、多行呈现同类数据,例如图片和文本。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 该组件内容区小于一屏时,默认没有回弹效果。需要回弹效果,可以通过edgeEffe

    2024年04月13日
    浏览(104)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:尺寸设置)

    用于设置组件的宽高、边距。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 width(value: Length) 设置组件自身的宽度,缺省时使用元素自身内容需要的宽度。若子组件的宽大于父组件的宽,则会画出父组件的范围。 从API ver

    2024年03月15日
    浏览(85)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:文本通用)

    文本通用属性目前只针对包含文本元素的组件,设置文本样式。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 名称 参数类型 描述 fontColor ResourceColor 设置字体颜色。 从API version 9开始,该接口支持在ArkTS卡片中使用。 fon

    2024年03月23日
    浏览(50)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:动态属性设置)

    动态设置组件的属性,支持开发者在属性设置时使用if/else语法,且根据需要使用多态样式设置属性。 说明: 从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 attributeModifier(modifier: AttributeModifierT) 动态设置组件的属性方法。 系统能

    2024年04月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包