码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Android平台实现lottie动画


    1、lottie动画简介  

            Lottie 是一个应用十分广泛动画库,适用于Android、iOS、Web、ReactNative、Windows的库,它解析了用Bodymovin导出为json的Adobe After Effects动画,并在移动和网络上进行了原生渲染。它提供了一套完整得从AE到各个终端的工具流,通过AE的插件将设计师做的动画导出成一套定义好的json文件,之后再通过渲染器进行渲染。

    2.优点:

       Lottie动画有设计师通过AE工具制作动画,生成Json文件,给各个端进行使用,各端只需集成不同的解析库,就可以播放动画,更好的实现了跨平台,降低了开发成本,提示了开发效率。

    3.在Android中使用Lottie动画

      1)在app 的 build.gradle中引入Lottie动画库。

     implementation 'com.airbnb.android:lottie:3.2.2'

      2)在main目录下创建asset目录,将设计师给的动画文件放在asset目录中。

    Json文件长这样:

    3)layout文件中引入LottieAnimationView

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:tools="http://schemas.android.com/tools"
    4. xmlns:app="http://schemas.android.com/apk/res-auto"
    5. android:layout_width="match_parent"
    6. android:layout_height="match_parent"
    7. android:background="@color/white"
    8. android:orientation="vertical"
    9. tools:context=".MainActivity">
    10. <com.airbnb.lottie.LottieAnimationView
    11. android:id="@+id/lottieAnimationView"
    12. android:layout_width="48dp"
    13. android:layout_height="48dp"
    14. app:lottie_autoPlay="true"
    15. app:lottie_fileName="data.json"
    16. app:lottie_loop="true" />
    17. </LinearLayout>

    4)Activity中开启动画。

    1. @Override
    2. protected void onCreate(Bundle savedInstanceState) {
    3. super.onCreate(savedInstanceState);
    4. setContentView(R.layout.activity_main);
    5. LottieAnimationView lottieAnimationView = findViewById(R.id.lottieAnimationView);
    6. lottieAnimationView.setAnimation("data.json");
    7. lottieAnimationView.playAnimation();
    8. }

    这样就可以播放一个Lottie动画了。

    5)Api简介:

    1. //播放一次,如果不设置播放次数,就会循环播放
    2. lottieAnimationView.setRepeatCount(0);

  • 相关阅读:
    Python—argparse模块
    万古霉素修饰银纳米粒/磁性纳米微球/负载万古霉素PLGA缓释微球/硅包银纳米三角片
    用 Python 实现微信推送消息
    CocosCreator3.8研究笔记(二十四)CocosCreator 动画系统-动画编辑器实操-关键帧实现动态水印动画效果
    使用数组实现队列
    CKA考试笔记,仅做个人学习使用
    【开题报告】基于SpringBoot的校园周边攻略平台的设计与实现
    python如何升级?python3版本并且安装pip3
    【Flask从入门到精通:第一课:flask的基本介绍、flask快速搭建项目并运行】
    Keras深度学习实战(21)——神经风格迁移详解
  • 原文地址:https://blog.csdn.net/niuyongzhi/article/details/133681593
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号