【问题标题】:Android: How to configure a loading screen with background color and centered imageAndroid:如何配置具有背景颜色和居中图像的加载屏幕
【发布时间】:2020-01-30 14:08:39
【问题描述】:

所以,我几乎已经使用 Flutter 完成了我的 Android 应用程序,现在我刚刚使用 Android Studio 工具创建了图标(右键单击“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"... 由于该图标在安装后被应用程序正确使用,我不明白为什么在清单中解决了,在另一个文件中不是......我应该做什么?

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    您可以使用开发依赖包:https://pub.dev/packages/flutter_native_splash

    添加pubspeck.yaml

    dev_dependencies:
       flutter_native_splash: ^0.1.9
    

    声明你的图标 laucher 和颜色

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

    然后它们运行:

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

    【讨论】:

      【解决方案2】:

      我喜欢 Eric 的简单回答,此外,flutter.dev 网站上有详尽的文档说明如何在没有额外软件包的情况下做到这一点。

      https://flutter.dev/docs/development/ui/splash-screen/android-splash-screen

      【讨论】:

        【解决方案3】:

        所以,经过几次尝试,我通过使用以下配置解决了问题:

        styles.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>
        

        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="@color/white" />
            <item
                android:width="400px"
                android:height="400px"
                android:drawable="@mipmap/ic_launcher"
                android:gravity="center" />
        </layer-list>
        

        相关的区别是我现在使用可绘制的徽标而不是位图。目前,它在发布模式 (flutter clean &amp;&amp; flutter run --release) 下完美运行,即使在调试模式下,在 Flutter 主小部件实际呈现之前几毫秒内黑屏可见。

        【讨论】:

          猜你喜欢
          • 2012-04-26
          • 2019-11-15
          • 2011-11-09
          • 1970-01-01
          • 2019-09-03
          • 1970-01-01
          • 2012-05-15
          • 2014-11-17
          • 2017-01-26
          相关资源
          最近更新 更多