让UI忙碌的安卓Lottie动画渲染库(一)

简介: 今天工作时突然在项目xml布局看到了一个完全不认识的控件,一开始以为是自定义View之类的:

前言

今天工作时突然在项目xml布局看到了一个完全不认识的控件,一开始以为是自定义View之类的:

<com.airbnb.lottie.LottieAnimationView
    android:id="@+id/lt_gift"
    android:layout_width="200dp"
    android:layout_height="200dp"
    app:lottie_autoPlay="true"
    app:lottie_fileName="lottie/gift.json"
    app:lottie_loop="true"
    app:lottie_repeatMode="restart"/>

但一看包所在名称,再一结合这个控件的显示效果与该布局中的命名,我以为是用来专门加载GIF动图的,但经过我在网上检索,查阅一些博客,访问Lottie的GitHub项目地址后,我才有了大致的印象,原来这个就是为我们开发者省心,让UI设计师忙碌的动画加载利器。

正篇

开场说过,本人对此库的认知也有限,本篇仅供参考用法,如有纰漏,望各位大佬能指正!

介绍

其实最好的介绍就是官方自我介绍,如下:


网络异常,图片无法展示
|


大致意思就是,首先它能多个系统开发上使用,如:安卓Android,苹果IOS,以及Windows、React Native、 Web上都可以使用。

而官方的自我介绍也很幽默:

Lottie是一个适用于Android和iOS的移动库,可以解析使用Bodymovin导出为json的AE(Adobe After Effects)动画,并在移动设备上以本机方式呈现它们!第一次,可以让设计师去创建和发布这些精美的动画,而不需要工程师煞费苦心地手动重新创建。他们说一张图片胜过1000个单词,所以这里有13000个单词。

总结而言,就是我们可以不用花费大量时间用代码调试动画,而是让UI设计去制作好成品,我们直接用就行。

如何放入项目中

首先,因为是新的库,我们需将包导入到我们build.gradle(app)中:

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

网络异常,图片无法展示
|


接着就是文章开篇的代码,我们需要在XML布局的合适位置放入:

<com.airbnb.lottie.LottieAnimationView          使用Lottie
    android:id="@+id/lt_gift"                          id名
    android:layout_width="200dp"                   控件宽度
    android:layout_height="200dp"                  控件高度
    app:lottie_autoPlay="true"                        自动播放动画(default: false)
    app:lottie_fileName="lottie/gift.json"         目录下的json文件名(json文件可以直接放到assets目录下,比如“gift.json”,也可新建子目录,比如"lottie/gift.json")
    app:lottie_loop="true"                              循环播放(default:false)
    app:lottie_repeatMode="restart"                循环模式(default:restart)
   />            

总结

本节我们看了如何将Lottie放入我们的安卓项目中并在XML中写入,下节我们会继续看它在逻辑代码中的使用方法,感谢您的观看!

相关文章
|
23天前
|
存储 Shell Android开发
基于Android P,自定义Android开机动画的方法
本文详细介绍了基于Android P系统自定义开机动画的步骤,包括动画文件结构、脚本编写、ZIP打包方法以及如何将自定义动画集成到AOSP源码中。
42 2
基于Android P,自定义Android开机动画的方法
|
29天前
|
编解码 测试技术 Android开发
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
本文详细介绍了如何利用CameraX库实现高质量的照片及视频拍摄功能,包括添加依赖、初始化、权限请求、配置预览与捕获等关键步骤。此外,还特别针对不同分辨率和帧率的视频拍摄提供了性能优化策略,确保应用既高效又稳定。
62 1
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
|
13天前
|
搜索推荐 前端开发 C#
推荐7款美观且功能强大的WPF UI库
推荐7款美观且功能强大的WPF UI库
|
22天前
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
20天前
|
前端开发 图形学 开发者
【独家揭秘】那些让你的游戏瞬间鲜活起来的Unity UI动画技巧:从零开始打造动态按钮,提升玩家交互体验的绝招大公开!
【9月更文挑战第1天】在游戏开发领域,Unity 是最受欢迎的游戏引擎之一,其强大的跨平台发布能力和丰富的功能集让开发者能够迅速打造出高质量的游戏。优秀的 UI 设计对于游戏至关重要,尤其是在手游市场,出色的 UI 能给玩家留下深刻的第一印象。Unity 的 UGUI 系统提供了一整套解决方案,包括 Canvas、Image 和 Button 等组件,支持添加各种动画效果。
47 3
|
22天前
|
监控 Java API
Android经典实战之OkDownload:一个经典强大的文件下载开源库,支持断点续传
本文介绍的 OkDownload 是一个专为 Android 设计的开源下载框架,支持多线程下载、断点续传和任务队列管理等功能,具备可靠性、灵活性和高性能特点。它提供了多种配置选项和监听器,便于开发者集成和扩展。尽管已多年未更新,但依然适用于大多数文件下载需求。
73 1
|
23天前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
31 1
|
30天前
|
API Android开发
Android项目架构设计问题之选择和使用合适的UI库如何解决
Android项目架构设计问题之选择和使用合适的UI库如何解决
38 0
|
1月前
|
编解码 开发工具 Android开发
Android平台RTSP|RTMP播放器如何实现TextureView渲染
本文介绍了在Android平台上使用TextureView进行RTSP和RTMP视频流渲染的技术背景和实现方法。TextureView相较于SurfaceView具备更高性能、更强功能性和更灵活的绘制方式等优势,但也有必须在硬件加速环境下运行和较高内存占用等局限。文中详细展示了如何在SmartPlayerV2工程中创建和配置TextureView,并通过代码示例解释了如何根据视频分辨率信息调整显示比例,以及处理TextureView的各种生命周期回调。此外,还列举了该播放器SDK支持的多项高级功能,如多实例播放、多种编码格式支持、硬解码能力等,旨在帮助开发者更好地理解和实现高性能的直播播放器。
|
1月前
|
C# 开发者 Windows
一款基于Fluent设计风格、现代化的WPF UI控件库
一款基于Fluent设计风格、现代化的WPF UI控件库