版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《鸿蒙应用安全开发》在线开放课程项目3设计闹钟程序-动画主讲:本课程团队目录Contents项目3设计闹钟程序-动画一、项目导入二、属性动画三、显式动画四、总结与实践一、
项目导入云林科技为了更好地服务员工,将上线一款可以独立使用的在线提醒程序,因此需开发一个闹钟程序,公司经理把任务交给技术部黎工程师来完成,并提出如下需求:首先要有美观的界面,可以方便进行各种操作;其次,要有扩展性,后期可以嵌入公司APP;第三,使用方便,只需手机就可参与。闹钟程序界面设计如图所示。1.2、
动画概念动画是指在一段时间内多次改变用户界面(UserInterface,UI)外观。由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的画面。UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率(FramePerSecond,FPS),即每秒的动画帧数,帧率越高则动画就会越流畅。动画可按基础能力分为属性动画、显式动画、转场动画三种。二、
属性动画属性动画是因组件的某些通用属性变化而引起的渐变过渡效果,从而提升了用户体验。属性动画支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。其可选参数如下。duration:设置动画时长,其默认值为1000,单位为毫秒。tempo:动画播放速度。该数值越大,动画播放速度越快。值为0时,表示动画不存在。其默认值为1。curve:设置动画曲线,其默认值为Curve.EaseInOut(平滑的动画曲线)。delay:设置动画延迟执行的时长,其默认值为0,单位为毫秒,取值范围:[0,+∞)。iterations:设置播放次数,其默认值为1,取值范围:[-1,+∞)。当它设置为-1时表示无限次播放,设置为0时表示无动画效果。playMode:设置动画播放模式,默认播放完成后重头开始播放,其默认值为PlayMode.Normal。onFinish:状态回调,动画播放完成时触发。当iterations设置为-1时,动画效果无限循环不会停止,所以不会触发此回调。2.1、属性动画实例实例-通过改变组件的大小实现//AttrAnimationExam.etsbuild(){Column(){Button('改变大小').onClick(()=>{if(this.flag){this.widthSize=150this.heightSize=60}else{this.widthSize=250this.heightSize=100}this.flag=!this.flag})
.margin(30).width(this.widthSize).height(this.heightSize).animation({duration:2000,curve:Curve.EaseOut,iterations:3,playMode:PlayMode.Normal})2.1、属性动画实例实例-通过改变旋转角度来实现实现Button('改变旋转角度').onClick(()=>{this.rotateAngle=1080}).margin(50).rotate({angle:this.rotateAngle}).animation({duration:1200,curve:Curve.Friction,delay:500,iterations:-1,//设置-1表示动画无限循环playMode:PlayMode.Alternate})}.width('100%').margin({top:20})}三、
显式动画显式动画是由闭包内的变化而触发的动画,这些变化包括由数据变化引起的组件的增删、组件属性的变化等。显式动画可以做较为复杂的动画其接口如下:animateTo(value:AnimateParam,event:()=>void):void其必填参数:Value:类型为AnimateParam对象,设置动画效果相关参数。event:指定显示动效的闭包函数,在闭包函数中导致的状态变化系统会自动插入过渡动画。AnimateParam对象,与属性动画的可选参数类似。3.1、显式动画实例实例-同时改变按钮的大小和旋转角度
build(){Row(){Column(){Button('同时更改大小和旋转角度').width(this.widthSize).height(this.heightSize).rotate({x:0,y:0,z:1,angle:this.rotateAngle}).onClick(()=>{if(this.flag){animateTo({duration:1200,curve:Curve.Friction,iterations:-1,playMode:PlayMode.Alternate,
onFinish:()=>{('播放结束')}},()=>{this.widthSize=150this.heightSize=60this.rotateAngle=1080})}else{animateTo({},()=>{this.widthSize=300this.heightSize=120this.rotateAngle=2160})}this.flag=!this.flag})}.width('100%')}.height('100%')}}四、总结与实践1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年碳指数设计师笔试通关资料
- 2026年小学生急救知识科普
- 2026年小孩防火安全知识培训
- 2026年主管中药师考试重点难点解析
- 2026年养生美容专业知识培训
- 2026年小学生健康知识主题班会
- 2026年小学二年级上册语文课内重点知识梳理卷含答案
- 2026年小学六年级上册数学计算专项闯关检测卷含答案
- 2026年小学六年级下册语文期末基础复习卷含答案
- 经济动物养殖学习体会
- 学堂在线西南科技大学人工智能基础(2022秋)期末考试题答案
- 首件检验报告(装配)
- 初级电工技能培训一-电工常用工具
- 新药研发毒理学安全性评价
- 外科学教学课件:下肢骨关节损伤
- 2023年潍坊市初中学业水平考试地理试题附答案
- 《张国庆 公共行政学 第4版 笔记和课后习题 含考研真题 详》读书笔记思维导图PPT模板下载
- 皮影教学反思
- GB/T 7631.2-2003润滑剂、工业用油和相关产品(L类)的分类第2部分:H组(液压系统)
- GB/T 11170-2008不锈钢多元素含量的测定火花放电原子发射光谱法(常规法)
- 主题班会-纪念长征胜利80周年-图文
评论
0/150
提交评论