【背景】自从 Airbnb 开发出 Lottie 之后,设计师只需要使用 After Effects 设计出完美的动画,然后通过 Bodymovin 插件进行简单的转换和导出成 JSON,最后工程师将 JSON 放入 App 项目中,就可以将动画 100% 还原到你的产品中。
【传送门】
(1)https://www.cnblogs.com/plokmju/p/8036668.html
(2)https://www.jianshu.com/p/282d098cf928?utm_source=oschina-app
【简单用法】
(1)xml设置
(2)代码设置
图片.png【注】这个方法会去加载 JSON 文件,并解析动画,之后在子线程中开始异步渲染动画。
【加载方式】
(1) src/main/assets目录下(默认)
(2)加载服务器上的.json文件,若有图片可以设置本地代理文件夹或者将图片资源放入 JSON。
private void loadUrl(String url) {
Request request = new Request.Builder().url(url).build();
OkHttpClient client = new OkHttpClient();
client.newCall(request).enqueue(new Callback() {
@Override public void onFailure(Call call, IOException e) {}
@Override public void onResponse(Call call, Response response) throws IOException {
try {
JSONObject json = new JSONObject(response.body().string());
LottieComposition.Factory
.fromJson(getResources(), json, new OnCompositionLoadedListener() {
@Override
public void onCompositionLoaded(LottieComposition composition) {
lottieAnimationView.setComposition(composition);
lottieAnimationView.playAnimation();
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
网友评论