鸿蒙开发 —— UI动画开发之d3.js easing Functions

📑往期推文全新看点(文中附带最新·鸿蒙全栈学习笔记)

✒️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?

✒️ 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~

✒️ 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?

✒️ 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?

✒️ 记录一场鸿蒙开发岗位面试经历~

✒️ 持续更新中……


简介

该库为UI动画组件 easing 缓动函数是用来描述数值的变化速率,这些数值可以是动画对象的宽高,透明度,旋转,缩放等属性值,它们的变化率可以用函数曲线来表示,制作出更加符合直觉的UI动效,使动画看上去更加真实。已经实现的函数如下所示:

下载安装

ohpm install d3-ease

使用说明

import * as Easing from 'd3-ease';

使用示例

第一步:创建自己需要的动画

import Animator, { AnimatorResult } from '@ohos.animator';

backAnimator: AnimatorResult = Animator.create({
  duration: 1000,
  easing: 'linear',
  direction: 'normal',
  iterations: 1,
  delay: 0,
  fill: 'none',
  begin: 0,
  end: 1
});

第二步,实现onframe方法,并调用函数方法进行计算(小球动画示例)

  ballBeginX = 30;
  ballEndX = 320;
  @State ballAnimateValue: number = 30;

  this.animator.onframe = (normalizedTime) => {
      const distance = this.ballEndX - this.ballBeginX;
      this.ballAnimateValue = this.ballBeginX + Easing.Linear(normalizedTime) * distance;
  }

  build() {
        Column() {
              Stack({alignContent: Alignment.TopStart}) {
                  // 小球 动画作用在 margin left 属性
                  Column(){}.width(28).height(28)
                      .backgroundColor('#ff0991ec')
                      .borderRadius(14)
                      .margin({left: this.ballAnimateValue, top: 14});
              }
        }
  }

接口说明

Easing

接口名参数类型返回值类型说明
easeBackInnumbernumber偏移动画估值
easeBackOutnumbernumber偏移动画估值
easeBackInOutnumbernumber偏移动画估值
easeBounceInnumbernumber弹簧动画估值
easeBounceOutnumbernumber弹簧动画估值
easeBounceInOutnumbernumber弹簧动画估值
easeCircleInnumbernumber圆弧的动画估值
easeCircleOutnumbernumber圆弧的动画估值
easeCircleInOutnumbernumber圆弧的动画估值
easeCubicInnumbernumber三次曲线动画估值
easeCubicOutnumbernumber三次曲线动画估值
easeCubicInOutnumbernumber三次曲线动画估值
easeElasticInnumbernumber心电图动画估值
easeElasticOutnumbernumber心电图动画估值
easeElasticInOutnumbernumber心电图动画估值
easeExpInnumbernumber外露函数动画估值
easeExpOutnumbernumber外露函数动画估值
easeExpInOutnumbernumber外露函数动画估值
easeQuadInnumbernumber四次曲线动画估值
easeQuadOutnumbernumber四次曲线动画估值
easeQuadInOutnumbernumber四次曲线动画估值
easePolyInnumbernumber五次曲线动画估值
easePolyOutnumbernumber五次曲线动画估值
easePolyInOutnumbernumber五次曲线动画估值
easeSinInnumbernumber正弦函数动画估值
easeSinOutnumbernumber正弦函数动画估值
easeSinInOutnumbernumber正弦函数动画估值
easeLinearnumbernumber直线动画估值

约束与限制

在下述版本验证通过:

  • DevEco Studio: NEXT Release(5.0.3.900), SDK: API12 (5.0.0.71)
  • DevEco Studio: NEXT Developer Beta3(5.0.3.524), SDK: API12 (5.0.0.25)
  • DevEco Studio 版本: 4.1 Canary(4.1.3.500), OpenHarmony SDK: API11 (4.1.3.1)

目录结构

|---- animationFunction  
|     |---- entry  # 示例代码文件夹
|     |---- README_zh.MD  # 安装使用方法                   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值