Uno Platform Android 启动画面完全消失

Uno Platform Android Splash screen does fully go away

我有一个使用 UNO 平台的项目。 iOS 版本的启动画面完美运行。 android 版本显示并且似乎消失了。

但是,它仍然显示在页面元素后面的背景中,除非我在页面上有边框或 webview。

我通过以下方式实现了闪屏:

Styles.xml

<!-- Splash screen -->
<item name="android:windowBackground">@drawable/splash</item>

Splash.xml 在 Resources/drawble:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <!-- background color -->
    <color android:color="#dedcdc"/>
  </item>
  <item>
    <!-- splash image -->
    <bitmap
        android:src="@drawable/splashscreen"
        android:tileMode="disabled"
        android:gravity="center" />
  </item>
</layer-list>

然后我在 Splashscreen.scale-200.png 中放了一张图片。启动画面确实出现,然后在应用程序加载后似乎消失了,所以我真的很困惑为什么它永远不会完全消失。

我注意到导航菜单和按钮等任何元素确实出现在初始屏幕上并隐藏了它的一部分。我使用的是最新的 Uno,今天更新了预发布版。我正在模拟器和 Pixel 3a 上进行测试。

这是在 Android 上显示启动画面的标准方式,因为它几乎可以立即加载,确保您的用户不会盯着空白屏幕 - 换句话说,启动画面应该是什么做。

但是请注意,您实际上是在设置 windowBackground 属性,因此预计启动画面不会 'go away' - 它总是会出现在其他画面之后你的内容。通常它不会在随后出现,因为它被内容覆盖了。为了确保是这种情况,UI 的根目录通常有一个占据整个屏幕的不透明背景。例如,对于来自默认 Uno 模板的 'Hello World' 应用程序:

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <TextBlock Text="Hello, world!" Margin="20" FontSize="30" />
    </Grid>

在这种情况下,根 Grid 将完全掩盖本机 windowBackground

如果您在内容加载后仍看到启动画面,则表示它具有非不透明背景或未占据整个屏幕。尝试在 UI 中设置根视图的 Background 属性 如上所述。