小编典典

向 Flutter 应用程序添加启动画面

all

你会如何向 Flutter 应用程序添加启动画面?它应该在任何其他内容之前加载和显示。目前,在 Scaffold(home:X)
小部件加载之前会有短暂的颜色闪烁。


阅读 69

收藏
2022-05-26

共1个答案

小编典典

我想进一步了解在 Flutter 中制作 Splash screen 的实际方式。

我在这里跟踪了一下,发现 Flutter 中的
Splash Screen 看起来并没有那么糟糕。

也许大多数开发者(比如我)都认为 Flutter
中默认没有启动画面,他们需要对此做点什么。有一个启动画面,但它是白色背景的,没有人能理解默认情况下已经有一个适用于 iOS 和 Android 的启动画面。

开发人员唯一需要做的就是将品牌形象放在正确的位置,启动画面就会像那样开始工作。

以下是您可以逐步完成的方法:

首先在 Android 上 (因为是我最喜欢的平台 :))

  1. 在 Flutter 项目中找到“android”文件夹。

  2. 浏览到 app -> src -> main -> res 文件夹,并将品牌形象的所有变体放在相应的文件夹中。例如:

  3. 密度为1的图像需要放在mipmap-mdpi中,

  4. 密度为1.5的图片需要放在mipmap-hdpi中,
  5. 密度为2的图像需要放在mipmap-xhdpi中,
  6. 密度为3的图像需要放在mipmap-xxhdpi中,
  7. 密度为4的图像需要放在mipmap-xxxhdpi中,

默认情况下,android 文件夹中没有 drawable-mdpi、drawable-hdpi 等,但我们可以根据需要创建它们。由于这个事实,图像需要放在
mipmap 文件夹中。此外,关于 Splash 屏幕(在 Android 中)的默认 XML 代码将使用 @mipmap,而不是 @drawable
资源(如果需要,您可以更改它)。

  1. Android 的最后一步是取消注释 drawable/launch_background.xml 文件中的一些 XML 代码。浏览到 app -> src -> main -> res-> drawable 并打开 launch_background.xml。在这个文件中,你会看到为什么斜线屏幕背景是白色的。要应用我们在步骤 2 中放置的品牌形象,我们必须取消注释您的 launch_background.xml 文件中的一些 XML 代码。更改后,代码应如下所示:

     <!--<item android:drawable="@android:color/white" />-->
    

     <bitmap
         android:gravity="center"
         android:src="@mipmap/your_image_name" />
    

请注意我们注释了白色背景的 XML 代码并取消了关于 mipmap 图像的代码的注释。如果有人感兴趣,则可以在 styles.xml 文件中使用文件
launch_background.xml。

iOS 上的第二个:

  1. 在 Flutter 项目中找到“ios”文件夹。

  2. 浏览到 Runner -> Assets.xcassets -> LaunchImage.imageset。应该有 LaunchImage.png、LaunchImage@2x.png 等。现在您必须用您的品牌图像变体替换这些图像。例如:

  3. 密度为1的图像需要覆盖LaunchImage.png,

  4. 密度为2的图像需要覆盖LaunchImage@2x.png,
  5. 密度为3的图像需要覆盖LaunchImage@3x.png,
  6. 密度为4的图像需要覆盖LaunchImage@4x.png,

如果我没记错的话 LaunchImage@4x.png 默认是不存在的,但是你可以很容易地创建一个。如果 LaunchImage@4x.png
不存在,您还必须在 Contents.json 文件中声明它,该文件与图像位于同一目录中。更改后,我的 Contents.json 文件如下所示:

{
  "images" : [
    {
      "idiom" : "universal",
      "filename" : "LaunchImage.png",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "filename" : "LaunchImage@2x.png",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "filename" : "LaunchImage@3x.png",
      "scale" : "3x"
    },
    {
      "idiom" : "universal",
      "filename" : "LaunchImage@4x.png",
      "scale" : "4x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

这应该就是你所需要的,下次当你在 Android 或 iOS 上运行你的应用程序时,你应该有正确的启动画面和你添加的品牌形象。

谢谢

2022-05-26