你将如何增加一个闪屏颤振应用程序?它应该在任何其他内容之前加载和显示。当前在加载scaffold(home:x)小部件之前,有一个短暂的颜色闪烁。
最佳答案
我想给在颤振中做喷溅屏幕的实际方法带来更多的光。
我跟踪了一点痕迹,发现flutter中的喷溅屏看起来并不是那么糟糕。
也许大多数开发人员(像我一样)都认为在flutter中默认没有启动屏幕,他们需要做些什么。实际上有闪屏,但它是白色背景,没有人能理解,默认情况下,iOS和Android已经有闪屏了。
这其实很酷,因为开发人员需要做的唯一一件事就是把品牌形象放在正确的位置上,启动屏幕就会像这样开始工作。
下面是如何一步一步地做到这一点:
首先是Android(因为我最喜欢的平台是:)
在你的颤振项目中找到“android”文件夹。
浏览到app->src->main->res文件夹,并将品牌形象的所有变体放在相应的文件夹中。例如:
密度为1的图像需要放置在mipmap mdpi中,
密度为1.5的图像需要放置在mipmap hdpi中,
密度为2的图像需要放置在mipmap xdpi中,
密度为3的图像需要放置在mipmap xxdpi中,
密度为4的图像需要放置在mipmap xxxdpi中,
默认情况下,android文件夹没有drawable mdpi、drawable hdpi等,但是每个人都可以根据需要创建。这就是为什么图像需要放在mipmap文件夹中的原因。另外,关于启动屏幕的默认XML代码(在Android中)将在@mipmap而不是@drawable中进行查看(如果需要,您可以更改它)。
Android的最后一步是取消对drawable/launch_background.xml中某些代码的注释。浏览至app->src->main->res->drawable并打开launch_background.xml。在这个文件中,您将看到为什么斜线屏幕背景是白色的。要应用我们在步骤2中放置的品牌形象,我们必须取消对launch_background.xml文件中的一些XML代码的注释,因此在更改之后,代码应该如下所示:
<!--<item android:drawable="@android:color/white" />-->
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/your_image_name" />
</item>
请注意,我们对白色背景代码进行了注释,并取消了对mipmap图像的注释。如果有人感兴趣,则在styles.xml文件中使用此启动\background.xml。
现在,对于iOS:
在你的颤振项目中找到“ios”文件夹。
浏览至runner->assets.xcassets->launchimage.imageset。应该有launchimage.png、[email protected]等。现在您必须用您的品牌图像变体替换这些图像。例如:
密度为1的图像需要覆盖launchimage.png,
密度为2的图像需要覆盖[email protected],
密度为3的图像需要覆盖[email protected],
密度为4的图像需要覆盖[email protected],
如果我没有错,默认情况下[email protected]不存在,但您可以轻松创建一个。如果[email protected]不存在,您还必须在contents.json文件中声明它,该文件与图像位于同一目录中。更改后,my contents.json文件如下:
{
"images" : [
{
"idiom" : "universal",
"filename" : "LaunchImage.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "[email protected]",
"scale" : "3x"
},
{
"idiom" : "universal",
"filename" : "[email protected]",
"scale" : "4x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
就这些了。下次当你在Android和iOS上运行你的应用程序时,你应该有一个正确的初始屏幕,上面有你添加的品牌形象。
谢谢