【问题标题】:Remove white screen before flutter splash screen在颤动闪屏之前删除白屏
【发布时间】:2021-03-17 21:28:56
【问题描述】:

我正在使用这个splashscreen package 为我的颤振应用程序创建一个自定义启动画面。默认情况下,它会在显示初始屏幕之前显示一些空白/白页。

有没有直接显示启动画面并跳过这个空白页的好方法?

【问题讨论】:

    标签: flutter splash-screen


    【解决方案1】:

    这是因为 Android/iOS 启动画面。在 Flutter 绘制第一帧之前,会显示一个原生闪屏。你可以随意调整它的颜色和内容。

    请参考Adding a splash screen to your mobile app

    如果你只想改变闪屏的颜色:

    • Android:编辑android/app/src/main/res/values/ic_launcher_background.xml 中的ic_launcher_background 颜色
    • iOS:使用 XCode 打开 ios/Runner/Base.lproj/LaunchScreen.storyboard 并在此处调整背景。

    【讨论】:

    • 好吧,所以没有办法避免这个第一帧。但解决方案是定制它?
    • @gottaquestionalot 完全正确
    【解决方案2】:

    将图标粘贴到android/src/drawable/launcher_bacground.png 或任何目录。

    然后粘贴如下代码:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Modify this file to customize your launch splash screen -->
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@android:color/white" />
    
        <!-- You can insert your own image assets here -->
        <item>
            <bitmap
                android:gravity="center"
                android:src="@drawable/launcher_background" />
        </item> 
    </layer-list>
    

    您可以根据需要自定义颜色。

    【讨论】:

      【解决方案3】:

      android/app/main/res/values/中添加colors.xml文件如下

      <?xml version="1.0" encoding="utf-8"?>
      <resources>
          <color name="YOUR_COLOR_NAME">COLOR_VALUE_HEX</color>
      </resources>
      

      之后将 android/app/main/res/drawable/drawable-V21 值更改为此 &lt;item android:drawable="@color/YOUR_COLOR_NAME"/&gt;

      就是这样。

      【讨论】:

        【解决方案4】:

        适用于 Android 应用

        有两种方法 - 首先,在可绘制文件夹中添加新的启动画面图像。 See Example here

        1. 通过添加项目编辑launch_background.xml文件
        <!-- You can insert your own splash image assets here -->
        <item>
            <bitmap
                android:gravity="center"
                android:src="@drawable/splash_screen" />
        </item>
        
        1. 不要对 launch_background.xml 进行更改,只需将 launch_background.xml 文件的引用替换为您要在应用程序启动。我假设您已经在 drawable 文件夹中添加了一个新的初始屏幕图像。现在打开 AndroidManifest.xml 文件并查找元标记 android:name=”io.flutter.embedding.android.SplashScreenDrawable”。只需将 launch_background 名称替换为您的初始屏幕图像名称即可。 (更改元标记如下)。进入 res –> values 文件夹,这里还将 launch_background 名称替换为您的初始屏幕图像名称。对文件夹值和 values-night 执行此操作。

        适用于 iOS 应用

        在 Xcode 窗口中,点击 Runner-> Runner -> Assets.xcassets 文件夹。在这里,您可以看到 LaunchImage 将您的初始屏幕图像与所有三个不同的尺寸粘贴到此文件夹中。

        打开 LaunchScreen.storyboard 再次在 Assets.xcassets 文件夹下方的左侧菜单中,您将看到 LaunchScreen.Storyboard。单击视图控制器场景 -> 视图控制器 -> 视图。注意:- 仅选择(单击)视图,不要单击 LaunchImage。您已在上一步中将新的初始屏幕粘贴到 LaunchImage 文件夹中。因此,您将在此窗口中看到相同的新图像。当您选择(单击)视图时,您可以在右侧窗口中看到更改视图设置的选项,如内容模式、背景、alpha 等。根据需要更改背景颜色并将内容模式设置为缩放以填充。

        调整启动画面 您可以在同一窗口上调整启动画面的位置、大小和背景颜色。只需单击launchImage 或在预览窗口中选择图像。您可以调整图像大小并调整图像位置。在右侧窗口中,您也可以进行其他设置。

        iOS 应用启动画面已准备就绪。

        【讨论】:

        猜你喜欢
        • 2013-02-10
        • 1970-01-01
        • 2019-11-24
        • 2022-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多