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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/white"android:orientation="vertical"tools:context=".MainActivity"><com.airbnb.lottie.LottieAnimationViewandroid:id="@+id/lottieAnimationView"android:layout_width="48dp"android:layout_height="48dp"app:lottie_autoPlay="true"app:lottie_fileName="data.json"app:lottie_loop="true" /></LinearLayout>
4)Activity中开启动画。
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LottieAnimationView lottieAnimationView = findViewById(R.id.lottieAnimationView);lottieAnimationView.setAnimation("data.json");lottieAnimationView.playAnimation();}
这样就可以播放一个Lottie动画了。
5)Api简介:
//播放一次,如果不设置播放次数,就会循环播放lottieAnimationView.setRepeatCount(0);
相关文章:
Android平台实现lottie动画
1、lottie动画简介 Lottie 是一个应用十分广泛动画库,适用于Android、iOS、Web、ReactNative、Windows的库,它解析了用Bodymovin导出为json的Adobe After Effects动画,并在移动和网络上进行了原生渲染。它提供了一套完整得从AE到各个终端的…...
JAVA练习百题之求矩阵对角线之和
题目:求一个3*3矩阵对角线元素之和 程序分析 求一个3x3矩阵的对角线元素之和,我们需要将矩阵的左上到右下以及左下到右上两条对角线上的元素相加。 一个3x3矩阵如下所示: 1 2 3 4 5 6 7 8 9左上到右下的对角线元素和为1 5 9 15&…...
MEM备考打卡
今天是2023.10.9距离考试还有75天 三年前就想考MEM每次总是有各种原因最后选择了放弃,没时间、自制力差、害怕失败。。。。放弃后确还是会想如果自己当时没有放弃是不是就能考上,所以这次不管能不能考上拼搏75天,不能总是停留在想象。加油&a…...
短视频矩阵源码开发部署---技术解析
一、短视频SEO源码搜索技术需要考虑以下几点: 1. 关键词优化:通过研究目标受众的搜索习惯,选择合适的关键词,并在标题、描述、标签等元素中进行优化,提高视频的搜索排名。 2. 内容质量:优质、有吸引力的内…...
百度小程序制作源码 百度引流做关键词排名之技巧
百度作为国内最大的搜索引擎,对于关键词排名和流量获取的策略格外重要,下面给大家分享一个百度小程序制作源码和做百度引流、关键词排名的一些技巧。 移动设备的普及和微信小程序的火热,百度也推出了自己的小程序。百度小程序与微信小程序类…...
【计算机组成 课程笔记】7.3 高速缓存 Cache
课程链接: 计算机组成_北京大学_中国大学MOOC(慕课) 7 - 5 - 705-高速缓存的工作原理(16-00--)_哔哩哔哩_bilibili 在【计算机组成 课程笔记】7.1 存储层次结构概况_Elaine_Bao的博客-CSDN博客中提到,因为CPU和内存的速度差距越来…...
vscode搭建c/c++环境
1. 安装mingw64 2.vscode安装c/c插件,run插件 3.在workspace/.vscode文件夹下新建三个文件: 1)c_cpp_properties.json { "configurations": [ { "name": "Win32", "includePath": [ "${wor…...
macOS Sonoma 14.0(23A344) 正式版带 OpenCore 0.9.6 和 FirPE 三分区镜像
macOS Sonoma 14.0(23A344) 正式版官方镜像百度网盘 请输入提取码 https://www.aliyundrive.com/s/sMUUedQdoiu 提取码 71dzmacOS Sonoma 14.0(23A344) 正式版带 OpenCore 0.9.6 和 FirPE 引导百度网盘 请输入提取码 https://www.123pan.com/s/o6d9-BdMX.html 提取码 5Pc2macO…...
神经网络(MLP多层感知器)
分类 神经网络可以分为多种不同的类型,下面列举一些常见的神经网络类型: 前馈神经网络(Feedforward Neural Network):前馈神经网络是最基本的神经网络类型,也是深度学习中最常见的神经网络类型。它由若干个…...
git与github的交互(文件与文件夹的上传)
git与github的交互(文件与文件夹的上传) 准备:gitHub账号(创建一个新项目)与Git软件的安装 一:开启公钥SSH登录(之前配置过就跳过) 1.安装SSH 在本地新创建文件夹负责装载项目&a…...
Visual Studio常见编译错误记录
错误1:错误(活动)E0020未定义标识符 “sleep” sleep(3000); //将小写sleep改为 Sleep Sleep(3000);错误2:错误 C4996 ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE…...
如何应对数据安全四大挑战?亚马逊云科技打出“组合拳”
数字经济时代,数据被公认为继土地、劳动力、资本、 技术之后的又一重要生产要素。对于企业而言,数据则是一切创新与关键决策的根源。 然而,企业在发挥数据资产的商业价值方面,却面临诸多挑战,比如敏感数据识别、跨组织…...
JavaScript——数据类型、类型转换
数据类型 计算机世界中的万事万物都是数据。 计算机程序可以处理大量的数据,为什么要给数据分类? 更加充分和高效的利用内存也更加方便程序员的使用数据 基本数据类型 number 数字型 JavaScript中正数、负数、小数等统一称为number JS是弱数据类型࿰…...
C位操作符
目录 一、位操作符 1.位与& 2.位或| 3.位取反~ 4.位异或^ 5.位与,位或,位异或的特点总结 6.左移位《《 右移位 》》 二、位与,位或,位异或在操作寄存器时的特殊作用 1.寄存器操作的要求(特定位改变而不…...
【linux进程(三)】进程有哪些状态?--Linux下常见的三种进程状态
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:Linux从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学更多操作系统知识 🔝🔝 Linux进程 1. 前言2. 操作系统…...
numString.charAt(i) - ‘0‘
numString.charAt(i) 表示获取字符串 numString 中第 i 个字符,这里假设该字符是数字 0 到 9 之间的一个字符。 0 是字符常量,表示数字 0 对应的字符。例如,字符 0 转换成数字就是 0,字符 1 转换成数字就是 1,以此类推…...
《Python 自动化办公应用大全》书籍推荐(包邮送书五本)
前言 随着科技的快速发展和智能化办公的需求增加,Python自动化办公成为了一种趋势。Python作为一种高级编程语言,具有简单易学、功能强大和开放源代码等优势,可以帮助我们更高效地完成日常办公任务。 Python自动化办公还可以帮助我们实现更…...
day57:ARMday4,程序状态寄存器读写指令、软中断指令、C和汇编的混合编程、开发板介绍
思维导图:有道云笔记...
el-cascader
场景: el-cascader lazy multiple 反显数据 非lazy的场景 selecetedOptions2: [[1, 2, 3],[1, 2, 4], ],可以正常回显;> ok lazy场景下: 是不可以回显的… 如果el-cascader是异步的单选 cascader默认会加载下个层级的(子…...
图论第3天----第841题、第463题
# 图论第3天----第841题、第463题 文章目录 一、第841题--钥匙和房间二、第463题--岛屿的周长 又继续开始修行,把图论这块补上,估计要个5-6天时间。 一、第841题–钥匙和房间 有向图的遍历。dfs遍历3部曲做,思路也较顺----访问过的&a…...
别再手动拖Actor了!用UE4官方Python插件解放你的双手(附7种运行脚本方法)
用UE4 Python插件打造高效自动化工作流:7种脚本运行方式全解析 在虚幻引擎4的日常开发中,你是否经历过这样的场景:需要批量放置数百个环境装饰Actor,或者重命名一整套材质资源?传统的手动操作不仅耗时耗力,…...
EmojiOne Color彩色字体:3分钟掌握1800+表情的终极解决方案
EmojiOne Color彩色字体:3分钟掌握1800表情的终极解决方案 【免费下载链接】emojione-color OpenType-SVG font of EmojiOne 2.3 项目地址: https://gitcode.com/gh_mirrors/em/emojione-color 想要在网站、应用或设计作品中添加生动有趣的彩色表情符号吗&am…...
保姆级教程:在Fedora/CentOS上用QEMU-KVM跑起ARM64虚拟机(附Debian镜像下载)
在Fedora/CentOS上构建高性能ARM64虚拟化环境的完整指南 对于需要在x86架构上开发和测试ARM64应用的工程师来说,搭建一个稳定高效的虚拟化环境是刚需。本文将带你从零开始,在Fedora或CentOS系统上配置完整的QEMU-KVM虚拟化栈,并针对ARM64架构…...
服务器该如何防范网络攻击?
服务器作为网络系统的核心枢纽,存储着大量关键数据并支撑着各类业务运行,一旦遭受网络攻击,可能导致数据泄露、服务中断等严重后果。防火墙是服务器网络安全的第一道防线,它可以根据预设的规则,对进出网络的数据包进行…...
告别手动调参!用Xilinx Ultrascale+的IODELAY和Bitslip搞定LVDS多通道自动对齐
告别手动调参!用Xilinx Ultrascale的IODELAY和Bitslip搞定LVDS多通道自动对齐 在高速数据采集系统中,LVDS接口因其抗干扰能力强、传输速率高等优势,成为ADC与FPGA间数据传输的首选方案。然而,随着通道数量的增加和采样率的提升&a…...
从论文排版到技术博客:Overleaf和Markdown中LaTeX数学公式的实战避坑指南
跨平台数学公式写作实战:Overleaf与Markdown的LaTeX避坑手册 数学公式是学术写作和技术文档中不可或缺的元素,但在不同平台上编写LaTeX公式时,总会遇到各种"水土不服"的问题。本文将深入剖析Overleaf专业编辑器与主流Markdown工具…...
黑苹果终极实战指南:OpenCore长期维护机型EFI深度解密
黑苹果终极实战指南:OpenCore长期维护机型EFI深度解密 【免费下载链接】Hackintosh Hackintosh long-term maintenance model EFI and installation tutorial 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintosh 还在为苹果电脑的高昂价格望而却步&…...
Ubuntu 18.04下Petalinux 2021.2 SDK编译遇坑记:手把手教你解决Qt组件和assimp报错
Ubuntu 18.04下Petalinux 2021.2 SDK编译实战:Qt与assimp报错深度解析 在嵌入式Linux开发领域,Xilinx的Petalinux工具链为开发者提供了从硬件到软件的完整解决方案。然而,当我们在Ubuntu 18.04环境下使用Petalinux 2021.2版本构建SDK时&…...
告别SD卡!用闲置的香橙派Zero给树莓派4B做网络启动服务器(保姆级配置)
用香橙派Zero打造树莓派4B网络启动服务器:极简硬件的高阶玩法 手里闲置的香橙派Zero开发板除了吃灰还能做什么?今天我们来解锁一个硬核玩法——将它改造成树莓派4B的网络启动服务器。这种配置不仅能让你彻底告别SD卡,还能实现多台树莓派的集中…...
别再被XML命名空间坑了!手把手教你用JAXB解析带命名空间的XML(附完整代码)
深度解析JAXB处理XML命名空间的五种实战方案 金融报文、Web服务响应、企业级数据交换——在这些需要处理标准化XML格式的场景中,命名空间就像一把双刃剑。它本是为了解决元素命名冲突而设计,却常常成为Java开发者使用JAXB解析时的"拦路虎"。当…...
