【好物推荐】lottie,一个可以在web端、ios、android使用的动态图工具

这两天碰到一个场景,需要做一个动态背景,在web端,ios端,android端呈现相同的效果——就是要动起来。

上面这个问题看起来很简单,实操起来却碰到了一些意外的困难。首先是设计师提供的“动图”是个视频,就是mp4。我要求过给个gif,但得到的回复是转gif文件会很大,且不清晰。由于gif文件过大,加载时间实在太不友好,所以我接受了用mp4,然后就是一顿操作。

代码如下:
<video
   src='xxx.mp4'
   muted
   loop
   autoPlay
   x5-playsinline='true'
   playsinline='true'
   webkit-playsinline='true'
   preload='auto'
   x5-video-player-type='h5'
/>

友友们请注意,上面这套组合拳是能够使mp4在ios的chrome以及safari浏览器中自动播放的,在PC端以及android端的兼容也不错。但是在ios的app内不能实现自动播放。所以该方法在本次需求中不可用。

后面我被人推荐去用lottie,一个可以把json格式文件转化为svg格式动图的工具,只需要安装一个包,就能轻松使用。

对不同的端它似乎分得比较细,我用的是lottie-web的包,但使用起来发现,在web端、ios端、android端都满足了我的需求。大家可以去它的官网或github按需安装使用(链接在文末)。

使用详情:
npm i -d lottie-web        // 安装包
import lottie from 'lottie-web';    

var animation = lottie.loadAnimation({
  container: document.getElementById('svg-box'),     // svg的容器,转化后的动图放在该元素内
  renderer: 'svg',
  loop: true,
  autoplay: true,
  path: '/aaa/xxxx.json',    // json文件地址
});



① lottie的官方网站:
https://lottiefiles.com/

② 一篇介绍lottie用法的掘金文章,总结的很好,写得简单清晰:
https://juejin.cn/post/6844903661760413704?utm_campaign=sembaidu&utm_medium=sem_baidu_jj_pc_dc01&utm_source=bdpcjjwz04999

posted @ 2022-01-12 21:53  leah-xx  阅读(837)  评论(0编辑  收藏  举报