没想到又把安卓捡回来了,好长时间没碰这玩意但是大作业又不得不写......emmmm所以为了给大作业里的功能实现一个好看的UI界面还是得写个app出来。
不少app在启动时或者干别的什么活动时会有一个动画效果,这时候可以用Lottie库实现。
添加依赖
在build.gradle(:app)的dependencies添加以下一行代码
implementation "com.airbnb.android:lottie:5.2.0"
下载想要的动画
可以在Lottie Marketplace - Premium Lottie animations designed for Web & Mobile (lottiefiles.com)寻找喜欢的动画,下载一个json格式的lottie动画下来。
新建一个存放动画的文件夹asserts
回到Android Studio,右键app,按如下操作新建一个新的文件夹asserts
这里新建的文件夹asserts的位置是src\main\asserts
然后将刚刚下载好的json动画文件想办法扔进去就行了。
使用动画
现在动画已经扔进去了,可以直接用了。
我希望app启动时会显示出动画效果,此时我将app启动的activity设置为LaunchActivity,于是在它的布局文件activity_launch里可以直接这样写:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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/skyblue"
tools:context=".LaunchActivity">
<com.airbnb.lottie.LottieAnimationView
app:lottie_fileName="lamp.json"
android:layout_width="213dp"
android:layout_height="238dp"
app:lottie_autoPlay="true"
app:lottie_loop="true" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
在LaunchActivity.java里这样写(代码的功能是显示两秒界面,然后跳转到下一个activity即主界面里去)
package com.example.zzutablelamp;
import android.app.Activity;
import android.content.Intent;
import android.os.Handler;
import android.os.Bundle;
import static androidx.core.content.ContextCompat.startActivity;
public class LaunchActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch);
Integer time = 2000; //设置等待时间,单位为毫秒
Handler handler = new Handler();
//当计时结束时,跳转至主界面
handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(LaunchActivity.this, MainActivity.class));
LaunchActivity.this.finish();
}
}, time);
}
}
在虚拟机上运行,即可显示出动画效果。
标签:动画,app,LaunchActivity,import,Android,Lottie,android From: https://www.cnblogs.com/soaring27221/p/17406538.html