iOS 上接入Lottie动画 接入Json动画

iOS设备上的动画借助官方SDK:CoreAnimation那一套已经比较强大了,基本上的动效都能实现,就是1、开发这边比较累;2、安卓那边也比较累况且 俩平台最后展示的可能有些细节还不一样。

借助Gif文件、视频文件等方式也有几个弊端:1文件体积比较大。2都没有官方支持。第三方库都有的。好像安卓那边接Gif不方便。那怎么办?

早几年出了个动效引擎库Lottie,比较强大,好几个平台都能使用:web(h5)、iOS、Android上都有,接入简单,使用方便。吃入同一个json文件,展示相同的动画效果。满足需求。

今天尝试接入了一下,折腾了半天,终于搞定了。前提,我不太会用Pods,所有的东西感觉把配套的源码放在项目里才放心。我试了两种:一种使用Lottie源码,一种使用Lottie.framework都一样。

接下来说详细步骤:

1、下载源码:网址 https://github.com/airbnb

找到需要的版本,然后下载。

2、解压得到目录结构如下

3、尝试不同的方式:源码、库文件的方式集成。 

(1)源码方式

源码其实就放在“lottie-ios”里面了,可以尝试新建一个项目AnimationWithLottieSrc,然后把“lottie-ios”这个目录拷贝过去,然后添加到项目里。

然后目录结构基本就是如下了,配置好签名等就可以一键运行,看到效果了。

(2)库文件的方式

库文件也不用自己去鼓捣,它已经给配置好了,build一下,然后就能拿到库文件lottie.framework了。注意区分拿不同的版本Debug、Release版本。根据自己的需要拿,不过一般都用Release好了,又不需要调试,也不需要更改它的库源码。

Build之后,右键如下图,到目录里找到这文件,它就是库文件了。

拿到库文件后,新建一个AnimationWithLottieframework项目,然后把这个库文件拷贝过去,然后引入。一键运行。

好了,至此 iOS上集成Lottie,实现Json动效就完成了。我把两个工程放上来,直接拿走即可运行。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Lottie是一个用于Android、iOS和Web的开源库,它可以加载和渲染Adobe After Effects动画导出的JSON文件。使用Lottie,开发者可以轻松地将复杂的动画效果集成到自己的应用程序中,而无需编写复杂的动画代码。要加载JSON动画,只需将JSON文件放置在assets文件夹中,并使用LottieAnimationView加载即可。Lottie还提供了许多自定义属性,可以让开发者更好地控制动画的行为和外观。 ### 回答2: Android Lottie是由Airbnb开源的一个动画库,可用于加载和渲染Adobe After Effects创建的Lottie动画文件,这些动画文件存储为JSON格式。与传统的GIF、WebP和MP4格式相比,Lottie动画文件更小,可缩放并且无损失,是完美的UI动画解决方案。 下面是一个简单的步骤,让您轻松加载JSON动画文件: 1. 在您的Android项目中添加依赖项:添加以下dependency到您的build.gradle文件中。 dependencies { implementation 'com.airbnb.android:lottie:3.4.1' } 2.将Lottie动画文件放在assets文件夹中:将动画JSON文件放在您的Android项目的assets文件夹下。 3. 在布局文件中添加LottieView:在布局文件中添加LottieView并设置宽度和高度。您可以使用app:lottie_file指定动画的文件名。例如以下代码: <com.airbnb.lottie.LottieAnimationView android:id="@+id/animation_view" android:layout_width="wrap_content" android:layout_height="wrap_content" app:lottie_file="your_animation.json" /> 4. 在Activity中加载动画:在您的Activity的onCreate方法中加载动画文件,并开始播放动画LottieAnimationView animationView = (LottieAnimationView) findViewById(R.id.animation_view); animationView.setAnimation("your_animation.json"); animationView.loop(true); animationView.playAnimation(); 通过上述步骤,您就能够成功地加载JSON动画文件,并将其渲染在您的Android app中。Lottie提供了许多自定义属性,以及可在运行时访问的API,可以让您在呈现动画时,获得更多的自由度和控制权限。 ### 回答3: Android Lottie是一个用于渲染矢量动画的库,由Airbnb开源。该库可以加载由Adobe After Effects导出的json文件,并将其渲染为原生Android视图中的动画效果。Lottie使用了高效而轻量级的渲染引擎来实现这一点,从而为开发人员提供了一种快速而简便的方式来实现优秀的矢量动画效果。 为了加载json动画,首先我们需要在项目中引入Lottie库,这可以通过在build.gradle文件中添加以下依赖项来完成: ``` implementation 'com.airbnb.android:lottie:3.6.1' ``` 完成之后,我们可以在布局文件中添加一个LottieAnimationView视图,并在java代码中使用以下代码加载json动画: ``` LottieAnimationView animationView = (LottieAnimationView) findViewById(R.id.animationView); animationView.setAnimation("your_animation.json"); animationView.playAnimation(); ``` 在这里,我们将LottieAnimationView的文件名设置为“your_animation.json”,但是您应该将其替换为实际的json文件名。 此外,Lottie也提供了其他一些方法和属性,可用于与动画交互和控制。例如,您可以使用以下方法暂停和恢复动画: ``` animationView.pauseAnimation(); animationView.resumeAnimation(); ``` 还可以使用以下方法将动画设置为循环播放: ``` animationView.setRepeatMode(LottieDrawable.RESTART); animationView.setRepeatCount(LottieDrawable.INFINITE); ``` 总的来说,Lottie是一种简单而有力的工具,可以帮助我们在Android应用程序中实现高质量的矢量动画效果。通过加载json文件并使用LottieAnimationView视图,我们可以轻松地将动画集成到我们的应用程序中。同时,Lottie还提供了一系列方法和属性,使我们可以对动画进行精细的控制和交互,以生成更加生动和有趣的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值