美文网首页Android项目源码
Lottie动画(动画的未来)

Lottie动画(动画的未来)

作者: 抓鱼猫L | 来源:发表于2019-12-14 17:46 被阅读0次

我们在平时开发中,要实现一个动画,大多数情况直接用Gif图,但Gif占用空间较大,而且需要为各种屏幕尺寸、分辨率做适配;另一种是用帧动画,但是帧动画占用空间比 Gif 还要大的多,也需要做适配。

当项目中有很多地方用到动画效果的时候会添很多Gif,这样打出来的包会很大。这时候我们会要求设计师压缩尺寸后再给我们,这样包是变小了,但是用户体验会很差,动效很不清晰。

这种情况下,就轮到 Lottie、 (LottieFiles) 登场了,阿里新出的 犸良https://design.alipay.com/emotion就是基于Lottie动画的。设计师做好动效后只需导出很小的Json文件,把Json文件拖入工程,在iOS (安卓、Web) 代码中读取这份Json文件,解析动画结构和参数信息并渲染就行了。

一、集成:


在iOS中使用需要先集成Lottie的SDK (Swift版本OC版本),然后直接在代码中使用就可以了。

1、Swift:

pod'lottie-ios'复制代码

代码:

import UIKit

import Lottie

class ViewController: UIViewController {

    let lottieView = AnimationView()

    override func viewDidLoad() {

        super.viewDidLoad()

        lottieView.frame = CGRect(x: 0, y: 0, width: 400, height: 400)

        lottieView.center = self.view.center

        lottieView.animation = Animation.named(“lottieJson“)//绑定Lottie动画

        lottieView.loopMode = .loop//动画效果 执行单次、多次

        lottieView.contentMode = .scaleAspectFit

        lottieView.backgroundBehavior = .pauseAndRestore//设置进入后台是否暂停动画

        self.view.addSubview(lottieView)

        lottieView.play()//开始动画

        //lottieView.stop()//暂停动画

}}

2、OC:

pod'lottie-ios_Oc'复制代码

代码:

#import "ViewController.h"

#import <lottie_ios_Oc/LOTAnimationView.h>

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    LOTAnimationView *lottieView = [LOTAnimationView animationNamed:@"lottieJson"];//绑定Lottie动画

    lottieView.frame = CGRectMake(0, 0, 400, 400);

    lottieView.center = self.view.center;

    lottieView.loopAnimation = YES;//动画效果 执行单次、多次

    lottieView.contentMode = UIViewContentModeScaleAspectFit;

    //handleWillEnterBackground 进入后台默认暂停动画

    [self.view addSubview:lottieView];

    [lottieView playWithCompletion:^(BOOL animationFinished) {

      //动画完成后可执行自定义操作

    }];

    [lottieView play];//开始动画

    //[lottieView stop];//暂停动画

}

@end

二、总结


1、优点:

·开发成本低,设计师导出Json文件给到开发即可。

·动画实现成功率高,只要设计师能设计出来的都能实现。

·支持服务端URL方式创建,通过服务端配置Json文件随时替换动画,不用重新发版。

·iOS、安卓、Web可用同一套Json文件。

·支持转场动画,Presen/Dismiss时可做转场效果。


2、缺点:

 ·低配设备上解析大Json文件可能比较耗时、异常,适用硬件性能较好的设备。

解决:

·手机性能不断升级,将有效缓解这方面问题;

·切换页面后暂停动画,节省资源;

·设计师注意好这些注意事项 Lottie避坑指南常见错误免异常总结,也能让动画更流畅;

如果觉得本文有用,可以在下方点个赞。如果发现有遗漏或不对的地方,请在下方留言~

资料:

从Json到Animationlottie-ios学习笔记使用Lottie播放动画安卓集成

相关文章

  • Lottie动画(动画的未来)

    我们在平时开发中,要实现一个动画,大多数情况直接用Gif图,但Gif占用空间较大,而且需要为各种屏幕尺寸、分辨率做...

  • 使用Lottie做加载动画

    使用Lottie做加载动画 先给出Lottie的链接:Lottie-iOS 使用Lottie做动画的好处: 多平台...

  • iOS接入 Lottie 动画过程详解

    iOS接入 Lottie 动画过程详解 iOS接入 Lottie 动画过程详解

  • iOS接入 Lottie 动画过程详解

    Lottie 动画简介 Lottie 动画是 airbnb 最新开源的动画解决方案,支持多种平台,可以使我们不费吹...

  • Lottie动画相关

    动画库 #import "Lottie/Lottie.h" 场景页面过渡效果 场景 普通动画使用 场景 开关 ❤️

  • Lottie 动画原理(二)

    上一篇讲了lottie整体的动画原理,但主要写的是Lottie 动画中layer的transform动画,这一篇将...

  • 如何在微信小程序里使用Lottie动画库

    先看效果图: 前言: 微信小程序的lottie动画库是按照lottie-web动画库改造而来。参考lottie-w...

  • lottie切换动画

    当lottie动画需要切换动画时,就是在第一个动画结束之后,播放第二个动画,看了一下lottie的github上的...

  • Android中的Lottie动画入门

    lottie简介 Lottie,Airbnb开源的动画框架,是基于CALayer的动画, 所有的路径预先在AE中计...

  • iOS完美动画之Lottie

    Lottie简介 & iOS集成使用 Lottie初级教程:打造iOS APP完美动画 iOS动画实战之Lotti...

网友评论

    本文标题:Lottie动画(动画的未来)

    本文链接:https://www.haomeiwen.com/subject/wefhnctx.html