UWP 应用程序如何全屏显示状态栏?
UWP app how to show status bar in fullscreen?
更新 1:更新了图片和更多详细信息:
更新 2:更改标题以更好地反映问题,因为导航栏不能像状态栏一样手动控制
好的,所以我想在应用程序上覆盖状态栏并隐藏导航栏。
我通过使用实现了这一点:(这都在里面 app.xaml.cs)
public override async Task OnInitializeAsync(IActivatedEventArgs args)
{
//this allows nav bar and status bar to overlay the app
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
//this hides nav bar and status bar
ApplicationView.GetForCurrentView().TryEnterFullScreenMode();
{
所以如果我注释掉
ApplicationView.GetForCurrentView().TryEnterFullScreenMode();
该应用程序仍然类似于全屏,但现在导航栏只是覆盖了该应用程序。而不是全屏行为(我注意到)它只是常规导航栏所以需要全屏。但是在全屏模式下,无论我在应用程序的哪个位置调用以下代码,它都不会显示状态栏。
var statusBar = StatusBar.GetForCurrentView();
await statusBar.ShowAsync();
图片:
所以我需要一种方法让状态栏全屏显示。
此应用是 "Pokemon Go Client for WM" git 上的开源项目。我想为此实现我在上面尝试的目标,不仅是为了这个应用程序,也是为了我的教育。如果您有兴趣,可以在这里找到该项目 Pokemon Go-UWP for WM
在 Windows 移动设备上,全屏应用没有状态栏和导航栏。并且在全屏模式下无法显示状态栏。正如@Raymond 的建议,您可以绘制自己的状态栏,例如在应用程序的右上角添加电池电量和日期时间信息。但这可能并不容易实现。
如您所见,没有全屏模式,
the app is still something like full screen but now the nav bar just overlays the app.
所以我觉得你也可以隐藏导航栏来达到你想要的效果。请注意,我们无法以编程方式隐藏导航栏,但用户可以从屏幕底部向上滑动到 hide/show 它。您可以在您的应用中添加一些提示来提示用户隐藏导航栏。
Screenshot
或者您可以将所需的边界模式设置为 UseVisible,如下所示,以在可见区域内布置 window 的内容。
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseVisible);
在此模式下,应用程序不会占用状态栏或导航栏被遮挡的区域。
Screenshot
更新 1:更新了图片和更多详细信息:
更新 2:更改标题以更好地反映问题,因为导航栏不能像状态栏一样手动控制
好的,所以我想在应用程序上覆盖状态栏并隐藏导航栏。
我通过使用实现了这一点:(这都在里面 app.xaml.cs)
public override async Task OnInitializeAsync(IActivatedEventArgs args)
{
//this allows nav bar and status bar to overlay the app
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
//this hides nav bar and status bar
ApplicationView.GetForCurrentView().TryEnterFullScreenMode();
{
所以如果我注释掉
ApplicationView.GetForCurrentView().TryEnterFullScreenMode();
该应用程序仍然类似于全屏,但现在导航栏只是覆盖了该应用程序。而不是全屏行为(我注意到)它只是常规导航栏所以需要全屏。但是在全屏模式下,无论我在应用程序的哪个位置调用以下代码,它都不会显示状态栏。
var statusBar = StatusBar.GetForCurrentView();
await statusBar.ShowAsync();
图片:
所以我需要一种方法让状态栏全屏显示。
此应用是 "Pokemon Go Client for WM" git 上的开源项目。我想为此实现我在上面尝试的目标,不仅是为了这个应用程序,也是为了我的教育。如果您有兴趣,可以在这里找到该项目 Pokemon Go-UWP for WM
在 Windows 移动设备上,全屏应用没有状态栏和导航栏。并且在全屏模式下无法显示状态栏。正如@Raymond 的建议,您可以绘制自己的状态栏,例如在应用程序的右上角添加电池电量和日期时间信息。但这可能并不容易实现。
如您所见,没有全屏模式,
the app is still something like full screen but now the nav bar just overlays the app.
所以我觉得你也可以隐藏导航栏来达到你想要的效果。请注意,我们无法以编程方式隐藏导航栏,但用户可以从屏幕底部向上滑动到 hide/show 它。您可以在您的应用中添加一些提示来提示用户隐藏导航栏。
Screenshot
或者您可以将所需的边界模式设置为 UseVisible,如下所示,以在可见区域内布置 window 的内容。
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseVisible);
在此模式下,应用程序不会占用状态栏或导航栏被遮挡的区域。
Screenshot