您的位置:首页 > 文旅 > 美景 > 市北区大型网站建设_福州seo快速排名软件_石家庄网站建设就找_盐城seo优化

市北区大型网站建设_福州seo快速排名软件_石家庄网站建设就找_盐城seo优化

2024/12/23 2:50:56 来源:https://blog.csdn.net/Forever_Hopeful/article/details/143520953  浏览:    关键词:市北区大型网站建设_福州seo快速排名软件_石家庄网站建设就找_盐城seo优化
市北区大型网站建设_福州seo快速排名软件_石家庄网站建设就找_盐城seo优化

2024年11月5日 LiuJinTao

文章目录

  • 鸿蒙中动画的使用
      • 一、属性动画 - animation
          • 属性动画代码示例
      • 二、显示动画 - AnimateTo
      • 三、专场动画

鸿蒙中动画的使用

一、属性动画 - animation

在这里插入图片描述

属性动画代码示例
/*** 属性动画的演示*/
@Entry
@Component
struct Index {@State selfWidth: number = 20@State setId: number = 0build() {Column() {Text("HarmonyOS NEXT").fontWeight(FontWeight.Bold).fontSize(this.selfWidth).textAlign(TextAlign.Center).animation({// 动画事件duration: 900,// 动画曲线// curve: Curve.Linear,curve: "cubic-bezier(1.00, -0.18, 1.00, -0.33)",// 延迟时间delay: 500,// 执行次数  (-1 无限次)iterations: 2,// 播放模式playMode: PlayMode.Alternate})Button("放大").onClick(() => {// 这里通过定时器实现动画效果(20毫秒动一下,产生视觉效果!)this.setId = setInterval(() => {if (this.selfWidth < 50) {this.selfWidth++} else {clearInterval(this.setId)  //  关闭定时器}}, 30)})Button("缩小").onClick(() => {// 当 animation 发现该组件属性发生变化,就会执行 animation属性动画 (这里我们改变字体大小)this.selfWidth = 20})}.height('100%').width('100%').justifyContent(FlexAlign.Center)}
}

二、显示动画 - AnimateTo

在这里插入图片描述

/***  显示动画的演示*/
@Entry
@Component
struct Index {@State selfWidth: number = 20@State setId: number = 0build() {Column() {Text("HarmonyOS NEXT").fontWeight(FontWeight.Bold).fontSize(this.selfWidth).textAlign(TextAlign.Center)Button("放大").onClick(() => {// 这里通过定时器实现动画效果(20毫秒动一下,产生视觉效果!)this.setId = setInterval(() => {if (this.selfWidth < 50) {this.selfWidth++} else {clearInterval(this.setId)  //  关闭定时器}}, 30)})Button("缩小").onClick(() => {animateTo({// 这里可以写  animation 中的所有配置duration: 900,} , () => {// 事件触发,这里执行的事件逻辑都会通过动画形式呈现//  和 animation比较,这个比较专一,控制字体大小就只会呈现字体大小动画this.selfWidth = 20})})}.height('100%').width('100%').justifyContent(FlexAlign.Center)}
}

三、专场动画

在这里插入图片描述

  • Index
import { router } from '@kit.ArkUI'@Entry
@Component
struct Index  {build() {Column() {Column() {Image($r("app.media.startIcon")).width(100).aspectRatio(1)// 分别绑定该属性,且id值一样,通过路由跳转实现专场动画效果.sharedTransition("sharedID", {duration: 350})Button("跳转").onClick(() => {router.pushUrl({url: "pages/Index2"})})}}.width("100%").height("100%").justifyContent(FlexAlign.Center)}
}
  • Index2
import { router } from '@kit.ArkUI';@Entry
@Component
struct Index2 {@State message: string = 'Hello World';build() {Column() {Image($r("app.media.startIcon")).width("100%").height(400)// 分别绑定该属性,且id值一样,通过路由跳转实现专场动画效果.sharedTransition("sharedID", {duration: 350})Button("返回").onClick(() => {router.pushUrl({url: "pages/Index"})})}.height('100%').width('100%').justifyContent(FlexAlign.SpaceBetween)}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com