build.gradlefile:dependencies {

compile 'com.airbnb.android:lottie:1.0.1'

}

lottie 支持 Jellybean (API 16) 及以上。最简单的使用方式是和LottieAnimationView一起使用:

android:id="@+id/animation_view"

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/src/main/assets中的json:LottieAnimationView animationView = (LottieAnimationView) findViewById(R.id.animation_view);

animationView.setAnimation("hello-world.json");

animationView.loop(true);

这个方法将加载文件并在后台解析动画,解析完成即开始异步渲染。

如果你想复用动画比如列表的每个item中或者从网络请求一个JSONObject:LottieAnimationView animationView = (LottieAnimationView) findViewById(R.id.animation_view);

...

LottieComposition composition = LottieComposition.fromJson(getResources(), jsonObject, (composition) -> {

animationView.setComposition(composition);

animationView.playAnimation();

});

然后你就可以控制动画并添加listener了:animationView.addAnimatorUpdateListener((animation) -> {

// Do something.

});

animationView.playAnimation();

...

if (animationView.isAnimating()) {

// Do something.

}

...

animationView.setProgress(0.5f);

...

// Custom animation speed or duration.

ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f)

.setDuration(500);

animator.addUpdateListener(animation -> {

animationView.setProgress(animation.getAnimatedValue());

});

animator.start();

...

animationView.cancelAnimation();

在底层LottieAnimationView使用LottieDrawable来渲染动画,如果你需要,你可以直接使用drawable:LottieDrawable drawable = new LottieDrawable();

LottieComposition.fromAssetFileName(getContext(), "hello-world.json", (composition) -> {

drawable.setComposition(composition);

});

如果你的动画被频繁使用,LottieAnimationView有一个可选的缓存策略:LottieAnimationView#setAnimation(String, CacheStrategy)。CacheStrategy可以是 Strong, Weak, 或者 None

android lottie字体json,lottie-android相关推荐

  1. android lottie字体json,Lottie 读取 JSON 文件实现动画

    Lottie Lottie 是 Airbnb 开源的一个动画项目,它支持 iOS, mac OS Android RN,由于某些复杂动画的实现,往往会写很多的 code 来实现它,而且调试动画的效果会 ...

  2. android lottie字体json,从json文件到炫酷动画-Lottie实现思路和源码分析

    从json文件到炫酷动画-Lottie实现思路和源码分析,Lottie是最近Airbnb开源的动画项目,支持Android.iOS.ReactNaitve三个平台,本文分析主要Lottie把json文 ...

  3. android判断是否json格式,Android判断json格式将错误信息提交给服务器

    开发中发现, 服务器偶尔会发送错误格式 json 给 Android 客户端, 导致 Android 客户端 json解析失败, 应用异常. 并非服务器有意坑客户端, 而是客户端请求服务器数据时, 除 ...

  4. android jackson 解析json字符串,android:json解析的两个工具:Gson和Jackson的使用小样例...

    1.简单介绍 json是android与server通信过程中经常使用的数据格式,比如.例如以下是一个json格式的字符串: {"address":"Nanjing&qu ...

  5. android+设置字体行高,android textview设置字体的行距和字间距

    android textview设置字体的行距和字间距 字间距 textView有一个属性android:textScaleX是调节字间距的,它的值是一个float型.查看源代码,默认textView ...

  6. android textview 字体颜色设置,Android textview 设置不同的字体大小和颜色

    在实际应用中,需要将一个字符串已不同的颜色,字体显示出来.当然完全可以通过不同textview拼接出来.也可以通过一个textview来展示. 步骤如下: 1.定义不同style . 不妨如下定义2个 ...

  7. android灰字体什么意思,Android 6.0状态栏使用灰色文字和图标

    Android StatusBar中的字体和图标默认都是白色的,但是Android在6.0之前是没有办法更改这个颜色, 在Android 6.0中提供了一个SYSTEM_UI_FLAG_LIGHT_S ...

  8. android html 字体颜色代码,Android TextView通过解析html显示不同颜色和大小

    先贴一张效果图 效果 介绍 通过SpannableString.SpannableStringBuilder可以很方便的给TextView加上各种各样的样式,比如不同的颜色和大小,这里就不多说了,具体 ...

  9. android lottie字体json,Android 动画深入Lottie

    image.png 如果现在有需求,让这个小人做出拳击动作你应该如何做? 传统方法会写一大堆的路径值做路径动画,不好调试代码臃肿并且麻烦,那么有简单方法吗 有! SVG 和 Lottie 可以胜任 S ...

最新文章

  1. 2018批量打印开关_新品上市,震撼来袭!买UV平板打印机,一定看过这款后再定!...
  2. SQL Server 2008 R2——分组取前几名
  3. Google 系两公司联手,要让无人车少“犯错”
  4. java 模仿支付成功_揭秘Java工程师薪资为何这么高,教你如何成为架构师拿50W年薪!...
  5. ecshop 2.7.x 去版权 lengze.com
  6. thinkphp mysql 更新_THINKPHP5修改数据库数据出现“缺少更新条件”的错误
  7. Given a list,rotate the list to right by k places, where k is nonegative.
  8. 人事管理系统 C语言,人事管理系统----C语言设计
  9. 服务器系统事件id1001,win10系统玩游戏出现蓝屏事件ID1001的解决方法
  10. 通讯网关 api网关_伟大的api网关迁移
  11. 8.4 单片机按键介绍
  12. 揭开均线系统的神秘面纱_揭开极限编程的神秘面纱,重新探讨“ XP蒸馏”,第2部分...
  13. Tensorflow-- 第一天使用过程中的报错records
  14. CDN降价之后又一大招 阿里云PCDN正式开放申请
  15. python pyecharts 画图 饼图柱状图
  16. mysql计算折纸_折纸飞机实验报告.doc
  17. 家用计算机历史记录,如何查看计算机使用历史记录,只需几个简单步骤即可查看...
  18. php中使用视频流的方式播放视频。
  19. Fingerprint2 获取浏览器的指纹应用(唯一标识),生成游客身份
  20. 深圳大学——大数据计算

热门文章

  1. Pyinstaller将Python程序打包成EXE(多种模式的打包)
  2. 全网最详系列教程-nacos配置中心详解-NameSpace、Group、DataID
  3. 计算机IO系列(二)BIO/NIO/多路复用实现
  4. JAVA——保持cookie登录状态的HttpClient封装工具类
  5. BugKuCTF 杂项 签到题
  6. 吉首大学2019年程序设计竞赛
  7. BugKuCTF WEB web2
  8. java如何调用系统保存框_java使用poi实现excel导出之后如何弹出保存提示框
  9. springboot整合websocket实现群聊
  10. WatchOS系统开发大全(3)-创建第一个WatchApp工程