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

常德规划建设局网站十里河网站建设公司

常德规划建设局网站,十里河网站建设公司,数码商城网站建设,wordpress获取用户的评论鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 鸿蒙开发-UI-图形-绘制自定义图形 鸿蒙开发-UI-图形-页面内动画 鸿蒙开发-UI-图形-组件内转场动画 文章目录 前言 一、基本概念 二、弹簧曲线动画实现 1.使… 鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 鸿蒙开发-UI-图形-绘制自定义图形 鸿蒙开发-UI-图形-页面内动画 鸿蒙开发-UI-图形-组件内转场动画 文章目录 前言 一、基本概念 二、弹簧曲线动画实现 1.使用springCurve 2.使用springMotion和responsiveSpringMotion 总结 前言 上文细学习了鸿蒙开发UI组件内转场动画了解转场的概念学习在if/elseforeach场景下如何结合transition和animateTo实现组件的转场动画效果本文将学习弹簧曲线动画。 一、基本概念 ArkUI提供预置动画曲线指定动画属性从起始值到终止值变化规律如Linear、Ease、EaseIn等。ArkUI也提供了由弹簧振子物理模型产生的弹簧曲线。通过弹簧曲线开发者可以设置超过设置的终止值在终止值附近震荡直至最终停下来的效果。弹簧曲线的动画效果比其他曲线具有更强的互动性、可玩性。 二、弹簧曲线动画实现 1.使用springCurve 接口 //构造参数构建时可指定质量为1根据调节刚度、阻尼两个参数达到想要的震荡效果。 //velocity: 初速度 //mass: 弹簧系统的质量 //stiffness: 刚度 //damping: 阻尼 springCurve(velocity: number, mass: number, stiffness: number, damping: number) 代码示例 //step1 引入curves依赖 import curves from ohos.curves; Entry Component struct SpringTest {State translateX: number 0;private jumpWithSpeed(speed: number) {this.translateX -1; //step3配合translate闭包中控制button组件位移变化并指定初速度进行x方向的平移的弹簧动画animateTo({ duration: 2000, curve: curves.springCurve(speed, 1, 1, 1.2) }, () {this.translateX 0;})}build() {Column() {Button(button).fontSize(14).width(100).height(50).margin(30) //step2 定义button组件的内转动画样式.translate({ x: this.translateX })Row({space:50}) {Button(jump 50).fontSize(14).onClick(() { //step4 以初速度50的弹簧曲线进行平移this.jumpWithSpeed(50);})Button(jump 200).fontSize(14).onClick(() { //step5 以初速度200的弹簧曲线进行平移this.jumpWithSpeed(200);})}.margin(30)}.height(100%).width(100%)} } 注 1.速度只是放大了振荡的效果不决定能否产生震荡 2.刚度越小、阻尼越大springCurve的“弹性”越弱振荡效果越弱 3.刚度减小或阻尼变大达到过阻尼状态后无论速度为多大都不会有在终点值附近振荡的效果 2.使用springMotion和responsiveSpringMotion springMotion接口 //response: 簧自然振动周期 //dampingFraction: 阻尼系数 //overlapDuration: 弹性动画衔接时长 springMotion(response?: number, dampingFraction?: number, overlapDuration?: number) responsiveSpringMotion接口 //response: 簧自然振动周期 //dampingFraction: 阻尼系数 //overlapDuration: 弹性动画衔接时长 responsiveSpringMotion(response?: number, dampingFraction?: number, overlapDuration?: number) 代码示例 //step1 引入curves依赖 import curves from ohos.curves;Entry Component struct SpringMotionTest {State positionX: number 100;State positionY: number 100;diameter: number 50;build() {Column() {Row() {Circle({ width: this.diameter, height: this.diameter }).fill(Color.Blue).position({ x: this.positionX, y: this.positionY }).onTouch((event: TouchEvent) {if (event.type TouchType.Move) { //step2 跟手过程使用responsiveSpringMotion曲线减去小球半径以使球的中心运动到手指位置animateTo({ curve: curves.responsiveSpringMotion() }, () {this.positionX event.touches[0].screenX - this.diameter / 2;this.positionY event.touches[0].screenY - this.diameter / 2;console.info(move, animateTo x:${this.positionX}, y:${this.positionY});})} else if (event.type TouchType.Up) { //step3 离手时使用springMotion曲线当手离开小球弹回原来的位置animateTo({ curve: curves.springMotion() }, () {this.positionX 100;this.positionY 100;console.info(touchUp, animateTo x:100, y:100);})}})}.width(100%).height(80%).clip(true) // 如果球超出父组件范围使球不可见.backgroundColor(Color.Orange)Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Start, justifyContent: FlexAlign.Center }) {Text(拖动小球).fontSize(16)}.width(100%)Row() {Text(点击位置: [x: Math.round(this.positionX) , y: Math.round(this.positionY) ]).fontSize(16)}.padding(10).width(100%)}.height(100%).width(100%)} } 注 1.使用springMotion和responsiveSpringMotion曲线时duration不生效适合于跟手动画 2.跟手过程推荐使用responsiveSpringMotion曲线松手过程推荐使用springMotion曲线 3.springCurve可以设置初速度单一属性存在多个动画时不会互相影响观察到的是多个动画效果的叠加 4.springMotion内部有速度机制不可由开发者设置。在单一属性存在多个动画时后一动画会取代前一动画并继承前一动画的速度 总结 本文细学习了鸿蒙开发UI弹性曲线动画了解弹性曲线的概念学习了弹性曲线两种实现方式以及使用场景下文将学习页面间动画。
http://www.zqtcl.cn/news/724864/

相关文章:

  • 天台做网站微博推广效果怎么样
  • 苏州专门网站网站站长统计怎么做
  • 社交网站开发注意事项call_user_func_array() wordpress
  • 泉州企业免费建站个人网站设计与开发
  • 网站建设流程书籍互联网行业黑话
  • 山亭 网站建设wordpress 添加头像
  • 龙南县建设局网站新手如何做网络推广
  • 网站开发建设赚钱吗巩义旅游网站建设公司
  • 网站建设代码介绍网站顶部导航代码
  • 帮别人做网站需要什么能力sem专员
  • 无锡网站建设 app推广软件
  • 免费入驻的外贸网站网站建设怎么打开
  • 怎么做中英文网站网站建设费做什么
  • 信阳网站建设汉狮怎么样做曖視頻网站
  • 做电影电视剧网站推广移动应用开发是什么意思
  • 网站排名优化策划中山搜索引擎优化
  • 网站建设培训证书平台型网站建设预算表
  • 网站建设后压缩代码网站如何做进一步优化
  • 大型旅游网站源码 织梦襄阳网站建设楚翼网络
  • 快速搭建网站服务器做历史卷子的网站
  • 淘口令微信网站怎么做通化seo招聘
  • 帮人做传销网站违法吗深圳也放开了
  • 发布程序后网站有很多促销策略
  • 网页网站项目综合网站建设合同.doc
  • 网站建设公司黄页企业vi系统设计公司
  • 建设局网站新闻昆明个人网站建设平台
  • 清远市建设工程交易中心网站网站打开慢什么原因呢
  • 网站网址没有被百度收录做网站ddos攻击
  • 网站网站设计公司深圳建设工程交易服务网网址
  • 自学编程网站棋牌游戏在哪做网站