flutter Android:如何配置一个带有背景色和居中图像的加载屏幕

a64a0gku  于 2023-02-05  发布在  Flutter
关注(0)|答案(3)|浏览(128)

所以,我几乎已经完成了我的Android应用程序使用Flutter,现在我刚刚创建了图标使用Android工作室工具(右键单击“res”文件夹-〉新-〉图像资产...)。到目前为止一切顺利,但现在我有一个艰难的时间试图找出如何把应用程序图标在加载屏幕上。我目前所做的是:
在res/values下创建一个styles.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
        <item name="android:windowBackground">@drawable/launch_background</item>
    </style>
</resources>

在res/drawable中创建一个launch_background. xml文件:

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center">
    <item android:drawable="@android:color/holo_green_light" />
    <item>
        <bitmap android:src="@mipmap/ic_launcher" />
    </item>
</layer-list>

但是资产@mipmap/ic_launcher没有解析...我完全不知道如何正确地指定它!
在AndroidManifest.xml中,我将主题定义为android:theme="@style/LaunchTheme",将图标定义为android:icon="@mipmap/ic_launcher"......由于图标在安装后被应用程序正确使用,我不明白为什么manisfest中的问题得到解决,而另一个文件中的问题没有得到解决......我应该做什么?

58wvjzkj

58wvjzkj1#

我喜欢Eric简单的回答,另外,flutter.dev网站上有详细的文档,说明如何在没有附加包的情况下完成此操作。
https://flutter.dev/docs/development/ui/splash-screen/android-splash-screen

ve7v8dk2

ve7v8dk22#

因此,经过几次尝试,我使用以下配置解决了:

样式.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <item name="android:windowBackground">@drawable/launch_background</item>
    </style>
    <color name="white">#FFFFFF</color>
</resources>

启动_背景.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center">
    <item android:drawable="@color/white" />
    <item
        android:width="400px"
        android:height="400px"
        android:drawable="@mipmap/ic_launcher"
        android:gravity="center" />
</layer-list>

相关的区别是我现在使用了一个可绘制的图标而不是位图。目前,它在发布模式(flutter clean && flutter run --release)下工作得很好,即使在调试模式下,在主Flutter部件实际呈现之前的几毫秒内会出现黑屏。

zf9nrax1

zf9nrax13#

您可以使用开发依赖项包:https://pub.dev/packages/flutter_native_splash
添加pubspec.yaml

dev_dependencies:
   flutter_native_splash: ^0.1.9

声明你的图标启动器和颜色

flutter_native_splash:
  image: 'assets/ic_launcher.png'
  color: "#36133d"

他们说:

  1. flutter pub get
  2. flutter pub run flutter_native_splash:create

相关问题