首页 > 解决方案 > 如何在 Android 中将 Lottie 动画设置为启动画面?

问题描述

在 Android Studio 中,您可以将可绘制对象设置为启动画面,如下所示:

可绘制文件夹中的splash_screen.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@color/blue"/>
    <item
        android:drawable="@mipmap/ic_launcher_foreground"
        android:gravity="center"
        android:top="201dp"
        android:bottom="201dp"
        android:right="100dp"
        android:left="100dp"/>
</layer-list>

SplashTheme添加到styles.xml

<style name="SplashTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="android:background">@drawable/splash_screen</item>
    <item name="android:windowAnimationStyle">@null</item>
</style>

SplashActivity类(没有布局):

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}

最后在 Manifest 中从 MainActivity 中删除意图过滤器并将其添加到 SplashActivity:

<activity
    android:name=".SplashActivity"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity android:name=".MainActivity" />

就是这样。那么,我如何添加一个抽签动画而不是一个可绘制的?我知道这是可能的,因为我看到许多应用程序在打开时会立即加载动画。我用谷歌搜索了这个问题,提供的答案来自,无意冒犯,不是很聪明的人,因为他们说要添加一个新的启动器活动,其中包含带有动画的布局并播放到最后或使用handler.postDelayed. 动画的目标应该是在应用加载时向用户显示除空白屏幕之外的其他内容。为什么要故意为用户添加不属于加载时间的延迟?

标签: javaandroidandroid-studiolottie

解决方案


推荐阅读