【问题标题】:UWP Customized Splash Screen SampleUWP 自定义启动画面示例
【发布时间】:2018-04-17 13:39:34
【问题描述】:

我想在 UWP 中创建启动画面。我想做的不仅仅是在屏幕上居中显示图像。我认为这会更直接。我看过这些文章:

https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh868191(v=win.10)

https://code.msdn.microsoft.com/windowsapps/Splash-Screen-in-Universal-42c0b57a

当我第一次打开这个示例时,我认为它可以工作......但是,它实际上并没有做任何事情。它实际上只是一个furphy。如果您仔细查看屏幕,它实际上只是在应用程序启动时显示图像(在清单中定义)一两秒钟,然后当应用程序加载时,它会切换到带有进度环的扩展屏幕.我已经看到人们打开初始屏幕图像的示例,但这不是我需要实现的。部分问题是 UWP 应用程序启动时间很糟糕,即使在快速机器上也是如此。即使是没有任何内容的空白应用程序也需要几秒钟才能启动。

是否存在浮动的 UWP 示例,实际上 a) 从清单中删除启动图像,并且 b) 允许我们用其他东西替换它?

注意:我不想删除启动画面。我想自定义它。

【问题讨论】:

  • 您可以将启动画面设为可选,但如果加载时间比预期的长,它将显示出来..(stackoverflow.com/questions/47201701/…) 将其设为可选后,您可以使用已加载的自定义页面动画作为应用程序的入口点。
  • 这不是重复的。我不想删除启动画面。
  • @Pratyay ,在应用程序初始化后显示启动画面是没有意义的。有人在应用程序中放置启动画面的唯一原因是初始化过程。
  • 通常您会立即加载您的MainPage,这将具有初始化逻辑对吗?您可以显示一个中间加载页面(您的自定义启动屏幕),而不是直接加载“重”MainPage,然后该页面将导航到您的 MainPage。

标签: c# xaml uwp splash-screen


【解决方案1】:

除非您将其设置为optional,否则将始终显示主启动屏幕(在package.appxmanifest 中定义的居中启动屏幕图像) - 即使在这种情况下,它也会在应用未加载时显示给用户立即地。

要使初始屏幕成为可选,您必须以 XML 格式打开清单文件,添加以下命名空间声明:

<Package
  ...
  xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5">

然后将uap5:optional 属性添加到您的初始屏幕:

<uap:SplashScreen ... uap5:Optional="true" />

您可以实现扩展的初始屏幕,这在您链接的文章中有所描述。如果您推迟扩展启动画面的所有初始化,则很可能根本不会显示可选的默认启动画面。

然而,虽然样本只显示了相同的带有进度环的图像,但你可以将任何你想要的内容放在扩展的初始屏幕上,你可以完全控制它,因为它是一个普通的Page

【讨论】:

  • 所以,您的意思是在应用程序启动时无法显示自定义启动画面。您可以选择显示图像,就是这样。本质上,这是可悲的。即使在 Android 上,也可以在启动屏幕上定义更多的图像。我真的认为微软需要解决这个问题。你知道任何地方对此有任何要求吗?
  • 我想更大的问题是实际的启动时间本身。即使在速度非常快的机器上,初始图像也会显示几秒钟。我想这是比缺乏自定义启动画面的能力更大的问题。我猜 UWP 团队没有费心改变系统,因为他们认为他们最终会修复启动时间。
  • 我将如何“推迟所有初始化”?我在初始化中没有做任何事情。启动时间只是因为 UWP 应用的启动速度确实很慢。
  • 您可以将请求放在 UserVoice 和反馈中心。我也同意这应该改进,以便能够以与自适应卡片和图块类似的方式定义布局
  • release 模式下启动时间肯定会更好,debug 中会有很大延迟,因为必须附加调试器
猜你喜欢
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-11
  • 2011-12-18
  • 2010-11-17
相关资源
最近更新 更多