OpenHarmony实战开发-请求动画绘制帧率

在应用开发中,属性动画和显式动画能够使用可选参数ExpectedFrameRateRange,为不同的动画配置不同的期望绘制帧率。

请求属性动画的绘制帧率

定义文本组件的属性动画,请求绘制帧率为60,范例如下:

 Text().animation({duration: 1200,iterations: 10,expectedFrameRateRange: { // 设置属性动画的帧率范围
​    expected: 60, // 设置动画的期望帧率为60hz
​    min: 0, // 设置帧率范围
​    max: 120 // 设置帧率范围},})

请求显式动画的绘制帧率

定义按钮组件的显式动画,请求绘制帧率为30,范例如下:

Button().onClick(() => {animateTo({duration: 1200,iterations: 10,expectedFrameRateRange: { // 设置显式动画的帧率范围expected: 30, // 设置动画的期望帧率为30hzmin: 0, // 设置帧率范围max: 120, // 设置帧率范围},}, () => {})})

完整示例

@Entry
@Component
struct AnimationToAnimationDemo {@State isAnimation: boolean = false;@State translateX1: number = -100;@State translateX2: number = -100;@State translateX3: number = -100;build() {Column() {Row() {Text('30').fontWeight(FontWeight.Bold).fontSize(16).fontColor(Color.White).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xF56C6C).width(80).height(80).translate({ x: this.translateX1 })}.height('20%')Row() {Text('40').fontWeight(FontWeight.Bold).fontSize(16).fontColor(Color.White).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0x2E8B57).width(80).height(80).translate({ x: this.translateX2 })}.height('20%')Row() {Text('60').fontWeight(FontWeight.Bold).fontSize(16).fontColor(Color.White).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0x008B8B).width(80).height(80).translate({ x: this.translateX3 }).animation({duration: 1200,iterations: 10,playMode: PlayMode.AlternateReverse,expectedFrameRateRange: { // 设置属性动画的帧率范围expected: 60, // 设置动画的期望帧率为60hzmin: 0, // 设置帧率范围max: 120, // 设置帧率范围},})}.height('20%')Row() {Button('Start').id('PropertyAnimationStart').fontSize(14).fontWeight(500).margin({ bottom: 10, left: 5 }).fontColor(Color.White).onClick(() => {this.isAnimation = !this.isAnimation;this.translateX3 = this.isAnimation ? 100 : -100;animateTo({duration: 1200,iterations: 10,playMode: PlayMode.AlternateReverse,expectedFrameRateRange: { // 设置显式动画的帧率范围expected: 30, // 设置动画的期望帧率为30hzmin: 0, // 设置帧率范围max: 120, // 设置帧率范围},}, () => {this.translateX1 = this.isAnimation ? 100 : -100;})animateTo({duration: 1200,iterations: 10,playMode: PlayMode.AlternateReverse,expectedFrameRateRange: { // 设置显式动画的帧率范围expected: 40, // 设置动画的期望帧率为40hzmin: 0, // 设置帧率范围max: 120, // 设置帧率范围},}, () => {this.translateX2 = this.isAnimation ? 100 : -100;})}).width('40%').height(40).shadow(ShadowStyle.OUTER_DEFAULT_LG)}.width('100%').justifyContent(FlexAlign.Center).shadow(ShadowStyle.OUTER_DEFAULT_SM).alignItems(VerticalAlign.Bottom).layoutWeight(1)}.width('100%').justifyContent(FlexAlign.Center).shadow(ShadowStyle.OUTER_DEFAULT_SM).layoutWeight(1)}
}

如果大家还没有掌握鸿蒙,现在想要在最短的时间里吃透它,我这边特意整理了《鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程》以及《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

在这里插入图片描述

OpenHarmony APP开发教程步骤:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

在这里插入图片描述

《鸿蒙开发学习手册》:

如何快速入门:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

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

在这里插入图片描述

开发基础知识:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

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

在这里插入图片描述

基于ArkTS 开发:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

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

在这里插入图片描述

鸿蒙生态应用开发白皮书V2.0PDF:https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG

在这里插入图片描述

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

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

相关文章

Hass哈斯数控数据采集网络IP配置设置

机床数据采集(MDC)允许你使用Q和E命令通过网络接口或选项无线网络从控制系统提取数据。设置143支持该功能,并且指定控制器使用这个数据端口。MDC是一个需要一台附加计算机发送请求,解释说明和存储机床数据的软件功能。这个远程计算…

SparkStructuredStreaming状态编程

spark官网关于spark有状态编程介绍比较少,本文是一篇个人理解关于spark状态编程。 官网关于状态编程代码例子: spark/examples/src/main/scala/org/apache/spark/examples/sql/streaming/StructuredComplexSessionization.scala at v3.5.0 apache/spark (github…

武王伐纣时杀死一位商朝大将,八百年后其子孙复仇推翻周朝

大约在公元前1046年,周武王率领大军征讨商朝,并在牧野之战中击溃商军,纣王兵败后自焚而死,至此商朝灭亡,史称“武王伐纣”。周武王进入朝歌城后,对商朝的旧臣进行了相关处理,有人“升职”了&…

88、动态规划-乘积最大子数组

思路: 首先使用递归来解,从0开始到N,每次都从index开始到N的求出最大值。然后再次递归index1到N的最大值,再求max。代码如下: // 方法一:使用递归方式找出最大乘积public static int maxProduct(int[] num…

申请Sectigo证书流程详解

Sectigo(前身为Comodo CA),是目前主流SSL证书的一种,目前全球范围内应用度也非常广泛,是目前众多品牌中市场份额最大的一个品牌了,在全球证书市场份额占比约为40%。 其超高的市场份额占比主要还是基于其超…

vue cli 自定义项目架子,vue自定义项目架子,超详细

脚手架Vue CLI基本介绍: Vue CLI 是Vue官方提供的一个全局命令工具 可以帮助我们快速创建一个开发Vue项目的标准化基础架子【集成了webpack配置】 脚手架优点: 开箱即用,零配置内置babel等工具标准化的webpack配置 脚手架 VueCLI相关命令…

Autodesk AutoCAD 2025 for Mac:强大的二维三维绘图工具

Autodesk AutoCAD 2025 for Mac是一款专为Mac用户打造的计算机辅助设计软件,它在继承了AutoCAD系列软件的优秀传统的基础上,针对Mac系统进行了全面优化,为用户提供了更出色的绘图和设计体验。 这款软件不仅支持用户创建和编辑复杂的二维几何图…

独家原创 | BiTCN-BiGRU-CrossAttention融合时空特征的高创新预测模型

往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

【设计模式】创建者模式之 工厂方法 抽象工厂

工厂方法模式(Factory Method) 一个特定功能,往往有多种实现方式,但是很难有某一个实现可以适用于所有情况,因此往往需要根据特定的场景选择不同的实现。试想:把选择具体实现的代码放在业务中会发生什么?每当我们需要…

09 华三 SSH

03 华三SSH 远程登录 1 AI解说官网 Kimi.ai - 帮你看更大的世界 (moonshot.cn) 华三交换机的SSH配置主要目的是通过SSH协议实现安全的远程登录和管理,以确保数据传输的安全性。以下是配置SSH的一般步骤和思路: 生成密钥对:首先需要在交换…

Sharding Capital: 为什么投资全链流动性基础设施 Entangle ?

写在前面:Entangle 项目的名称取自于量子纠缠(Quantum entanglement),体现了项目对于构建连接、关联和互通的愿景。就像量子纠缠将不同的粒子联系在一起,Entangle 旨在通过其跨链流动性和合成衍生品的解决方案将不同的区块链网络连接在一起&a…

[开发|鸿蒙] 鸿蒙OS开发环境搭建(笔记,持续更新)

搭建开发环境流程: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/installation_process-0000001071425528-V2 鸿蒙DevEco Studio 3.1.1 Release仅支持windows和mac系统 运行环境要求 为保证DevEco Studio正常运行,建议电脑配置…