HarmonyOS讲解并演示 animateTo 动画效果

2024-01-13 13:44

本文主要是介绍HarmonyOS讲解并演示 animateTo 动画效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文 我们一起看一看动画

首先 harmonyos中的东西 其实就是通过改变 响应式数据的值 以及配合动画参数 即可完成

我们先来看 布局更新动画 中的 显示动画
简单说 触发事件 改变组件的位置信息

我们先编写代码如下

@Entry
@Component
struct Index {@State itemAlign: HorizontalAlign = HorizontalAlign.Startbuild() {Column({space: 30}) {Text("点击修改布局位置").fontSize(38).margin({top:188})Column({space: 18 }) {Button("按钮1").width(100).height(58)Button("按钮2").width(100).height(58)}.margin(20).borderWidth(2).width("90%").height(400).justifyContent(FlexAlign.Center).alignItems(this.itemAlign)Button("执行").onClick((event: ClickEvent) => {})}.width('100%').height('100%')}
}

在这里插入图片描述
主容器下 Text 文本展示内容
Column 组件下 两个 button组件
justifyContent 因为是 Column 组件 主轴是 垂直方向 FlexAlign.Center 居中对齐 简单说 垂直方向居中对齐
alignItems 设置侧轴 就是 我们的水平方向 用了 组件中的 itemAlign属性 值是 HorizontalAlign.Start 由左至右

那么 这就很简单了 想改变它的位置 改 itemAlign 显然就可以了
我们在下面按钮上 设置的点击事件中加入代码

this.itemAlign = HorizontalAlign.End;

将它设置末尾对齐
在这里插入图片描述
我们点击后 它会立刻跑到末尾的位置 但可能会显得太快了 一下就跳过去了
在这里插入图片描述
我们将点击事件的代码改成这样

animateTo({duration: 3000,
},() => {this.itemAlign = HorizontalAlign.End;
})

在这里插入图片描述
这里 我们调用 animateTo 动画效果 然后 第一个参数 是一个json 里面放动画参数 我们这里的参数是 duration 动画时长 毫秒单位 三千毫秒 等于 三秒
然后 第二个参数是一个箭头函数 里面写动画要做的事 我们将改变对齐方式的代码放进来

此时 我们再次点击 它就有一个慢慢移动过去的效果了
在这里插入图片描述
它默认的这种速率 大家会感受到 刚开始 快 然后慢了 最后又开始快了

我们在 animateTo 第一个参数JSON中写

curve: Curve.

它就会弹出很多提示
在这里插入图片描述
Linear 表示匀速
Ease 慢
EaseIn 慢慢的进入动画 后面加快
EaseIn0ut 开头结尾相对慢一些 中间比较快
这个 大家可以自己查官方文档 Curve中 的内容
这里 我们先用 Linear 均匀的速度 走完整个动画
在这里插入图片描述
我们点击后 就会均匀的按duration时间慢慢位移过去
在这里插入图片描述
然后还有 delay 延迟属性
如下图 箭头指向位置 我们让他延迟两秒 就是 它触发动画会先停两秒 然后才执行
在这里插入图片描述
还有很多属性 大家可以自己去找 animateTo

onFinish 动画结束之后 执行的函数

animateTo({duration: 3000,curve: Curve.Linear,delay: 2000,onFinish: (()=>{console.log("动画结束");})
},() => {this.itemAlign = HorizontalAlign.End;
})

此时 我们点击动画结束后 控制台就会执行 onFinish输出
在这里插入图片描述
iterations 可以控制动画播放的次数
这里 我们 将 delay 延迟去掉 不然太浪费时间了
下面 iterations 3 让它执行三次
在这里插入图片描述
点击后 他就会执行三次才结束
在这里插入图片描述
iterations 给个 -1 即是一直重复
在这里插入图片描述
playMode 设置播放的模式
我们输入

playMode: PlayMode.

下面就会带出很多提示
在这里插入图片描述
这里 我们 来个 Reverse
这样 我们整个动画就会放过来 之前是从左到右
现在就成了从右到左
在这里插入图片描述
Alternate 我们可能会比较常用
之前 我们是 到最右侧 然后马上回到左侧 而加上 Alternate 它会有一个原路返回的过程 看着更流程了
在这里插入图片描述

这篇关于HarmonyOS讲解并演示 animateTo 动画效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/601668

相关文章

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

javascript fetch 用法讲解

《javascriptfetch用法讲解》fetch是一个现代化的JavaScriptAPI,用于发送网络请求并获取资源,它是浏览器提供的全局方法,可以替代传统的XMLHttpRequest,这篇... 目录1. 基本语法1.1 语法1.2 示例:简单 GET 请求2. Response 对象3. 配置请求

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Kotlin Compose Button 实现长按监听并实现动画效果(完整代码)

《KotlinComposeButton实现长按监听并实现动画效果(完整代码)》想要实现长按按钮开始录音,松开发送的功能,因此为了实现这些功能就需要自己写一个Button来解决问题,下面小编给大... 目录Button 实现原理1. Surface 的作用(关键)2. InteractionSource3.

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

Java实现图片淡入淡出效果

《Java实现图片淡入淡出效果》在现代图形用户界面和游戏开发中,**图片淡入淡出(FadeIn/Out)**是一种常见且实用的视觉过渡效果,它可以用于启动画面、场景切换、轮播图、提示框弹出等场景,通过... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs