当前位置: 首页 > wzjs >正文

企业局域网做网站屏蔽可以直接进入网站的正能量照片

企业局域网做网站屏蔽,可以直接进入网站的正能量照片,在线网页制作印章,yy直播在线观看鸿蒙 使用动画 简单使用 动画就两个,属性动画和转场动画 属性动画只是组件的属性发生变化,而转场动画是指对将要出现或消失的组件做动画,而文档的其他动画只是给这两个动画效果锦上添花罢了 这篇文章简单介绍这两个动画,其他的…

鸿蒙 使用动画 简单使用

动画就两个,属性动画转场动画

属性动画只是组件的属性发生变化,而转场动画是指对将要出现消失的组件做动画,而文档的其他动画只是给这两个动画效果锦上添花罢了

这篇文章简单介绍这两个动画,其他的看文档去吧

属性动画

以下是三种 ArkUI 属性动画接口的对比表格,用通俗语言解释它们的核心差异:

对比维度animateToanimationkeyframeAnimateTo
功能定位打包式动画(集体行动)贴标签式动画(各自为战)里程碑式动画(分阶段闯关)
典型场景多个属性同步变化(如按钮点击缩放+变色)不同属性独立动画(如颜色渐变 1 秒,缩放 0.5 秒)复杂多阶段动画(如加载进度条分段变速)
代码结构包裹在闭包内的属性集合链式附加在属性后定义关键帧数组 + 全局参数
动画控制统一时长/曲线每个属性独立设置参数每个阶段独立设置时长/曲线
阶段数量单一阶段单一阶段多阶段(通过数组定义多个关键帧)
曲线独立性全局统一曲线属性独立曲线阶段独立曲线
延迟/循环控制仅支持全局延迟无内置延迟/循环支持全局延迟、循环次数(含无限循环)
嵌套能力支持多层嵌套动画不支持嵌套可与其他动画组合使用
性能优化建议优先用transform代替布局属性同左避免频繁改变布局属性
通俗类比交响乐团(统一指挥)独奏演员(各自演奏)电影分镜(按剧本分段表演)
一句话选择指南
  • 想让多个属性整齐划一变化 → animateTo
  • 想让不同属性各玩各的animation
  • 需要分步骤、变速的复杂动画 → keyframeAnimateTo
animateTo
animateTo(value: AnimateParam, event: () => void): void
  • value 指定 AnimateParam 对象(包括时长、Curve 等)
  • event 为动画的闭包函数

示例:点击后一个从左向右滚 90° 的方块且颜色变半透明

import { curves } from '@kit.ArkUI';@Entry
@Component
struct AnimateToDemo {@State animate: boolean = false;// 第一步: 声明相关状态变量@State rotateValue: number = 0; // 旋转角度@State translateX: number = 0; // 偏移量@State opacityValue: number = 1; // 透明度// 第二步:将状态变量设置到相关可动画属性接口build() {Row() {Column() {}.width(100).height(100).backgroundColor('#D94838').borderRadius(30).opacity(this.opacityValue).translate({ x: this.translateX }).rotate({ angle: this.rotateValue })}.onClick(() => {// 直接使用animateTo可能导致实例不明确的问题,建议使用getUIContext获取UIContext实例// 第三步:调用 keyframeAnimateTo 接口this.getUIContext()?.animateTo({ curve: curves.springMotion() }, () => {this.animate = !this.animate;// 旋转角度发生变化this.rotateValue = this.animate ? 90 : 0;// 透明度发生变化this.opacityValue = this.animate ? 0.6 : 1;// 位置属性发生变化this.translateX = this.animate ? 50 : 0;})})}
}
animation

把 animation 接口加在要做属性动画的可动画属性后即可

示例:点击后一个从左向右滚 90° 的方块且颜色变半透明

import { curves } from '@kit.ArkUI';@Entry
@Component
struct AnimationDemo {@State animate: boolean = false;// 第一步: 声明相关状态变量@State rotateValue: number = 0; // 旋转角度@State translateX: number = 0; // 偏移量@State opacityValue: number = 1; // 透明度// 第二步:将状态变量设置到相关可动画属性接口build() {Row() {Column() {}.width(100).height(100).backgroundColor('#D94838').borderRadius(30).opacity(this.opacityValue).translate({ x: this.translateX })// 第三步:通过属性动画接口开启属性动画.rotate({ angle: this.rotateValue }).animation({ curve: curves.springMotion() })// 这里和animateTo的不同,直接加.onClick(() => {this.animate = !this.animate;// 第四步:闭包内通过状态变量改变UI界面// 这里可以写任何能改变UI的逻辑比如数组添加,显隐控制,系统会检测改变后的UI界面与之前的UI界面的差异,对有差异的部分添加动画// 组件一的rotate属性发生变化,所以会给组件一添加rotate旋转动画this.rotateValue = this.animate ? 90 : 0;// 组件二的translate属性发生变化,所以会给组件二添加translate偏移动画this.translateX = this.animate ? 50 : 0;// 父组件column的opacity属性有变化,会导致其子节点的透明度也变化,所以这里会给column和其子节点的透明度属性都加动画this.opacityValue = this.animate ? 0.6 : 1;})}}
}
keyframeAnimateTo
keyframeAnimateTo(param: KeyframeAnimateParam, keyframes: Array<KeyframeState>): void

keyframeAnimateTo 接口参数中,第一个参数 KeyframeAnimateParam 为关键帧动画的整体参数(包括延时、播放次数、结束回调、期望帧率),第二个参数是一个数组,每一项表示一个关键帧内的动画行为;每一段动画可单独控制动画参数(包括时长、Curve 等)。

示例:点击后一个从左向右滚 90° 的方块且颜色变半透明,又滚回去且无限循环

@Entry
@Component
struct KeyframeAnimateToDemo {// 第一步: 声明相关状态变量@State rotateValue: number = 0; // 逆时针旋转90度恢复至0度@State translateX: number = 0; // 偏移量@State opacityValue: number = 1; // 透明度// 第二步:将状态变量设置到相关可动画属性接口build() {Row() {Column() {}.width(100).height(100).backgroundColor('#D94838').borderRadius(30).opacity(this.opacityValue).translate({ x: this.translateX }).rotate({ angle: this.rotateValue }).onClick(() => {this.getUIContext()?.keyframeAnimateTo({iterations: -1, // 无限循环}, [{// 第一段关键帧动画时长为800ms,顺时针旋转90度,透明度变从1变为0.6,translate从0位移到50duration: 800,event: () => {this.rotateValue = 90;this.opacityValue = 0.6;this.translateX = 50;}},{// 第二段关键帧动画时长为500ms,逆时针旋转90度恢复至0度,透明度变从0.6变为1,translate从50位移到0duration: 500,event: () => {this.rotateValue = 0;this.opacityValue = 1;this.translateX = 0;}}]);})}}
}

转场动画

文档太他妈多了,我就说下面这个吧

出现/消失转场:对新增、消失的控件实现动画效果
  • transition 是基础的组件转场接口,用于实现一个组件出现或者消失时的动画效果
  • 可以通过 TransitionEffect 对象的组合使用,定义出各式效果。

分三步写:

  1. 创建 TransitionEffect
  2. 将转场效果通过 transition 接口设置到组件
  3. 新增或者删除组件触发转场

示例:点击边框后组件跑了,组件跑的姿势很多

import { curves } from '@kit.ArkUI';@Entry
@Component
struct TransitionEffectDemo {@State isPresent: boolean = false;// 第一步,创建 TransitionEffectprivate effect: TransitionEffect =// 创建默认透明度转场效果,并指定了springMotion(0.6, 0.8)曲线TransitionEffect.OPACITY.animation({curve: curves.springMotion(0.6, 0.8)})// 通过combine方法,这里的动画参数会跟随上面的TransitionEffect,也就是springMotion(0.6, 0.8).combine(TransitionEffect.scale({x: 0,y: 0}))// 添加旋转转场效果,这里的动画参数会跟随上面带animation的TransitionEffect,也就是springMotion(0.6, 0.8).combine(TransitionEffect.rotate({ angle: 90 }))// 添加平移转场效果,这里的动画参数使用指定的springMotion().combine(TransitionEffect.translate({ y: 150 }).animation({ curve: curves.springMotion() }))// 添加move转场效果,这里的动画参数会跟随上面的TransitionEffect,也就是springMotion().combine(TransitionEffect.move(TransitionEdge.END));build() {Stack() {if (this.isPresent) {Column() {Text('ArkUI').fontWeight(FontWeight.Bold).fontSize(20).fontColor(Color.White)}.justifyContent(FlexAlign.Center).width(150).height(150).borderRadius(10).backgroundColor(0xf56c6c)// 第二步:将转场效果通过transition接口设置到组件.transition(this.effect)}// 边框Column().width(155).height(155).border({width: 5,radius: 10,color: Color.Black})}// 第三步:新增或者删除组件触发转场,控制新增或者删除组件.onClick(() => {this.isPresent = !this.isPresent;})}
}

文章转载自:

http://LqBvSHIC.ngcbd.cn
http://7WS5EGxV.ngcbd.cn
http://MYpPDVGX.ngcbd.cn
http://XUqVTYwE.ngcbd.cn
http://srvsdg3m.ngcbd.cn
http://AfqqGg7x.ngcbd.cn
http://IKgOrI31.ngcbd.cn
http://QxauWVYM.ngcbd.cn
http://xFuRBLC1.ngcbd.cn
http://7BH8OYhx.ngcbd.cn
http://NflUIVTF.ngcbd.cn
http://kY5HX0WZ.ngcbd.cn
http://GTz57Ckl.ngcbd.cn
http://iTJoFkiW.ngcbd.cn
http://uhavg0Nh.ngcbd.cn
http://OGHXJKeg.ngcbd.cn
http://nv4ri63s.ngcbd.cn
http://CO6tfASk.ngcbd.cn
http://hVr1xb9S.ngcbd.cn
http://sTsBdCin.ngcbd.cn
http://TcOzf2ol.ngcbd.cn
http://jbVuuQ4f.ngcbd.cn
http://vpP1egD0.ngcbd.cn
http://DTEfe32C.ngcbd.cn
http://SJVCeZ0C.ngcbd.cn
http://JoZdQ032.ngcbd.cn
http://T3gVG2Po.ngcbd.cn
http://rrSzwUmc.ngcbd.cn
http://ImUjjpOQ.ngcbd.cn
http://n0DwTgr8.ngcbd.cn
http://www.dtcms.com/wzjs/673844.html

相关文章:

  • 建设网站的工作总结wordpress android 源码
  • 马关网站建设微网站建设包括哪些
  • 寿光专业做网站电商发展新方向
  • 做公司网站的模板下载广州冼村街道办
  • 网站没有访问量网站建设必要性和意义
  • 上海网站建设制作企业所得税优惠政策2021年计算
  • 种子网站模板软件开发服务费
  • 酷家乐设计家官网廊坊视频优化展现
  • 创建众筹网站进度跟踪网站开发
  • 如何改wordpress网站图标桂林相关网站
  • 人工智能和网站开发北京综合网络营销
  • 一般建设企业网站的费用wordpress会员查看
  • 解析域名就可以做网站企业网站现状
  • 怎么看网站是谁家做的wordpress换标题
  • 建设通网站怎么注销邢台网红二妹
  • 建设信用卡手机银行官方网站贷款平台代理怎么加入
  • 好看云在线网站模板西安做企业网站排名
  • 镇江网站制作费用安卓开发工具下载
  • 推销网站wordpress apple
  • 大连零基础网站建设教学电话wordpress显示flash logo
  • 南县做网站多少钱全国招聘网站排名
  • 半江红网站建设哪家培训机构学校好
  • 企业建网站 优帮云哪里有建设银行
  • 哪家做网站好的做视频网站赚钱
  • 南通企业建站系统模板wordpress导入pdf
  • 网站建设要什么证件大浪网
  • 网站策划书包括哪些内容?监控摄像机网站建设
  • 江西新农村建设权威网站免费文档模板下载
  • 做招聘信息的网站有哪些方面外贸服装商城网站建设
  • 机械建设网站新建html网站