最近在浏览其他网站的时候,看到Airbnb开源的这个项目碉堡了,作为一个码农,看到这些字眼自带有些不服气,自在要去看看有什么项目这么碉堡。 进去之后,看到这些个界面,这么炫酷的动画,果然很nb。 这些让我觉得碉堡的动画(这些图片来源:https://github.com/airbnb/lottie-android,也是这个项目在git上的开源地址):
接下来,我们就使用这个开源项目实现这些动画。
首先,在android studio中添加依赖是必须的
dependencies { compile 'com.airbnb.android:lottie:1.0.1'}这样,就可以在自己的项目中使用了。
布局文件中:
<com.airbnb.lottie.LottieAnimationView android:layout_width="wrap_content" android:layout_height="wrap_content" app:lottie_fileName="hello-world.json" app:lottie_loop="true" app:lottie_autoPlay="true" />app:lottie_fileName 表示执行动画的文件,这些文件是json格式,保存在assets文件夹下 app:lottie_loop 表示动画是否循环播放 app:lottie_autoPlay 表示动画是否自动播放
自在的,在java文件中也可以通过这种形式来使用:
LottieAnimationView view = (LottieAnimationView) findViewById(R.id.lottieView); view.setAnimation("hello-world.json"); view.loop(false); 我从开源项目中得到一个json文件,将其命名为hello-world.json(名称是什么不重要)将json文件同意保存在assets文件夹中, 这是我gif中使用的json文件 效果如下: (卡顿是电脑问题,与动画无关)
是不是很方便,动画是不是也很炫酷?
问题来了,虽然使用起来很方便,但是动画json文件不容易得到。开源项目中给了一些已经有的动画json文件,你可以自行到开源git中去下载,但是如果要自己实现一个动画,这时就需要使用AE来进行设计,这里对个人开发者就比较苦逼了,或许以后还会开源出更多动画json文件,或许有爱好者愿意分享动画json文件,这将大大利于我们实现Android动画的效率。
Airbnb提供的sample apk
新闻热点
疑难解答