📌  相关文章
📜  如何在Android中以编程方式控制Lottie动画?

📅  最后修改于: 2021-05-13 16:34:52             🧑  作者: Mango

Lottie是适用于Android和iOS的移动库,它可以使用Bodymovin解析以JSON格式导出的Adobe After Effects动画,并在移动设备上进行本地渲染。 Lottie动画可以免费使用矢量动画文件。许多著名的应用程序都使用此工具,例如Uber,Netflix,Google,Airbnb,Shopify等。使用Lottie,可以将动画放入移动(Android / iOS)应用程序中,甚至可以控制它们。在本文中,我们想与您分享一种使用Lottie在Android中控制JSON动画的方法的实现。下面给出了一个示例GIF,以使我们对本文中要做的事情有一个了解。请注意,我们将使用Kotlin语言实施此项目。

乐天动画

控制抽奖动画的步骤

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Kotlin作为编程语言。

步骤2:将库添加到build.gradle文件

为了使用Lottie实现动画,首先,在应用程序的build.gradle文件中实现依赖项实现’com.airbnb.android:lottie:$lottieVersion’。 2020年10月的最新版本是3.4.2 ,用此值替换$ lottieVersion。现在,通过单击对build.gradle文件进行每次更改后出现的同步选项来同步项目。请记住,build.gradle始终是Groovy或Kotlin文件。

步骤3:将Lottie动画文件添加到项目中

从此处选择任何动画,然后下载动画的JSON文件。

乐天动画

现在转到app> res>右键单击> New> Folder> Raw Resource Folder,然后将JSON文件复制到该原始文件夹。

步骤4:使用activity_main.xml文件

activity_main.xml文件中,通过指定参数来声明一个Lottie对象。同时声明两个按钮,一个按钮启动动画,另一个按钮暂停动画。主要参数是:

  • lottie_rawRes :接收要显示的JSON动画。
  • lottie_loop :布尔值,根据提供的布尔值确定动画是否在循环中。
  • lottie_autoPlay :布尔值,它决定动画是否在初始化后立即播放。
XML


  
    
  
    


Kotlin
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring the buttons
        val startBtn = findViewById


步骤5:使用MainActivity.kt文件

下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。

科特林

import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring the buttons
        val startBtn = findViewById

输出:在模拟器上运行

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!