微信小程序接入lottie动画

1、注意:canvas渲染出来的层级太高,当有弹窗的情况会暴露在弹窗外

模拟器上会有这个问题,线上版本不会有

2、需求

需要把lottie动画在小程序的环境下进行展示

3、什么是lottie动画

由Airbnb开发并开源。允许设计师将复杂的矢量动画导出为JSON文件,并通过lottie库在移动应用或者Web上无缝地渲染这些动画。这些动画可以在iOS、Android和Web等多个平台上使用,并且可以以高性能和高质量进行呈现。
和传统的GIF、Canvas有什么区别:

矢量动画:lottie动画是基于矢量图形的,动画中的所有元素都是以数学形式描述的,可以无限缩放而不会失真。GIF和Canvas动画通常是基于位图的,因此在缩放时可能会失去清晰度。
文件大小:相同动画的产生的文件,lottie的更小
可控制性:lottie有能够控制播放次数、播放快慢、播放开始和结束的监听等。
跨平台:类似java jvm,不同的平台有专门的处理,使得lottie只要数据一致,动画就会一致。

4、小程序如何引入lottie

在这里插入图片描述

package.json

{
  "dependencies": {
   "lottie-miniprogram": "^1.0.12"
  }
}

const lottieCharging = require('../../lottie/lottiename')

initialLottie() {
    if (this._inited) {
      return
    }
    const devicePixelRatio = wx.getSystemInfoSync().devicePixelRatio
    wx.createSelectorQuery().select('#c0').node((res) => {
      const canvas = res.node
      const context = canvas.getContext('2d')
      canvas.width = 38 * devicePixelRatio
      canvas.height = 38 * devicePixelRatio
      lottie.setup(canvas)
      this.ani = lottie.loadAnimation({
        loop: true,
        autoplay: true,
        animationData: lottieCharging,
        rendererSettings: {
          context
        }
      })
      this._inited = true
    }).exec()
  },
 <canvas id="c0" type="2d" style="width: 38px; height: 38px;"></canvas> 

相关推荐

  1. 程序动画

    2024-06-18 17:22:05       11 阅读
  2. 程序动画和Canvas笔记

    2024-06-18 17:22:05       11 阅读
  3. 程序接入企业「联系我」功能

    2024-06-18 17:22:05       40 阅读
  4. 程序

    2024-06-18 17:22:05       46 阅读
  5. 程序

    2024-06-18 17:22:05       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-18 17:22:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-18 17:22:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-18 17:22:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-18 17:22:05       20 阅读

热门阅读

  1. 【网络协议栈】TCP/IP相关知识点收集

    2024-06-18 17:22:05       5 阅读
  2. 0, GPU Microarchitecture介绍

    2024-06-18 17:22:05       4 阅读
  3. Vue 3 的 Teleport 组件实现跨层级通信

    2024-06-18 17:22:05       6 阅读
  4. 萤石视频接入api接口示例

    2024-06-18 17:22:05       9 阅读
  5. 速盾:高防服务器防御 DDoS 攻击的掩护技巧

    2024-06-18 17:22:05       8 阅读
  6. stringstream的使用

    2024-06-18 17:22:05       5 阅读
  7. Spring Boot常用注解

    2024-06-18 17:22:05       5 阅读
  8. 近期学习文章

    2024-06-18 17:22:05       6 阅读
  9. 2024.06.05校招 实习 内推 面经

    2024-06-18 17:22:05       5 阅读
  10. 日语 9 10

    2024-06-18 17:22:05       4 阅读
  11. Swift Combine — Publisher、Operator、Subscriber概念介绍

    2024-06-18 17:22:05       4 阅读
  12. Thymeleaf 全局变量

    2024-06-18 17:22:05       8 阅读