Flutter 启动画面不适用于 launch_background.xml [英] Flutter splash screen not working with launch_background.xml

查看:90
本文介绍了Flutter 启动画面不适用于 launch_background.xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我似乎无法显示自己的启动画面,每次启动应用程序时都会显示默认的空白启动画面,即使我已经在 launch_background.xmlres 中的其他文件.我还在 drawablemipmap 中设置了所有相关图标.

I can't seem to show my own splash screen, every time I launch the app the default, blank splash screen is shown even though I've set up everything in launch_background.xml and the other files in res. I've also set up all the relevant icons in drawable and mipmap.

launch_background.xml:

launch_background.xml:

<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/splash" />
    </item>

    <!-- You can insert your own image assets here -->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/splash_icon" />
    </item>
</layer-list>

styles.xml:

styles.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
    <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <!-- Show a splash screen on the activity. Automatically removed when
             Flutter draws its first frame -->
        <item name="android:windowBackground">@drawable/launch_background</item>
    </style>
    <!-- Theme applied to the Android Window as soon as the process has started.
         This theme determines the color of the Android Window while your
         Flutter UI initializes, as well as behind your Flutter UI while its
         running.
         
         This Theme is only used starting with V2 of Flutter's Android embedding. -->
    <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <item name="android:windowBackground">?android:colorBackground</item>
    </style>
</resources>

colors.xml:

colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="ic_launcher_background">#191919</color>
    <color name="splash">#191919</color>
</resources>

AndroidManifest.xml 中的标签:

<activity> tag in AndroidManifest.xml:

<activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/LaunchTheme"
              />
            <!-- Displays an Android View that continues showing the launch screen
                 Drawable until Flutter paints its first frame, then this splash
                 screen fades out. A splash screen is useful to avoid any visual
                 gap between the end of Android's launch screen and the painting of
                 Flutter's first frame. -->
            <meta-data
              android:name="io.flutter.embedding.android.SplashScreenDrawable"
              android:resource="@drawable/launch_background"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

初始屏幕应该显示一个图像和不同的背景颜色,但它只显示默认的空白屏幕.我没有为此使用自定义启动画面.我只想至少改变颜色,但即使这样也行不通.

The splash screen should show an image and a different background color but instead it just shows the default blank white screen. I'm not using a custom splash screen for this. I just want at least the colors to change but even that is not working.

推荐答案

也在 drawable-v21/launch_background.xml 中进行更改.这将用于 Android API 级别 21 或更高级别.

Also make the changes in drawable-v21/launch_background.xml. This will be used for Android API Level 21 or higher.

这篇关于Flutter 启动画面不适用于 launch_background.xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆