更新1:更新了图片和更多详细信息:
更新2:更改了tittle以更好地反映问题,因为导航栏无法像状态栏那样手动控制
好的,我想覆盖应用上的状态栏并隐藏导航栏 我通过使用:(这都在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();
图片:
所以我需要一种方法来允许状态栏全屏显示。
这个应用程序是git上的一个开源项目“Pokemon Go Client for WM”。我想实现它不仅仅是为了这个应用程序,而是为了我的教育。如果您有兴趣Pokemon Go-UWP for WM
,可以在这里找到该项目答案 0 :(得分:2)
在Windows Mobile上,全屏应用没有状态栏,也没有导航栏。当状态栏处于全屏模式时,无法显示状态栏。正如@ Raymond建议的那样,您可以绘制自己的状态栏,例如在应用程序的右上角添加电池电量和日期时间信息。但这可能不容易实现。
正如您所见,没有全屏模式,
该应用程序仍然像全屏,但现在导航栏只是覆盖了应用程序。
所以我认为你也可以隐藏导航栏来实现你想要的。我们不能以编程方式隐藏导航栏,但是用户可以从屏幕底部向上滑动以隐藏/显示它。您可以在应用中添加一些提示,以提示用户隐藏导航栏 Screenshot
或者您可以将所需的边界模式设置为 UseVisible ,如下所示,在可见区域内布置窗口的内容。
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseVisible);
在此模式下,应用程序不会将区域遮挡状态栏或导航栏 Screenshot