在屏幕旋转时隐藏状态栏
Hide status bar on screen rotation
是否可以在 Windows Phone 8.1
中隐藏屏幕旋转事件的状态栏?
以下代码在 Portrait
方向显示状态栏,并在 Landscape
方向隐藏状态栏。
首先您需要订阅 ApplicationView.VisibleBoundsChanged
活动。例如,您可以在 App.xaml.cs
构造函数中执行此操作:
ApplicationView.GetForCurrentView().VisibleBoundsChanged += OnVisibleBoundsChanged;
您使用 StatusBar.GetForCurrentView()
实例隐藏了状态栏。
OnVisibleBoundsChanged 方法:
private async void OnVisibleBoundsChanged(ApplicationView sender, object args)
{
var currentView = ApplicationView.GetForCurrentView();
if (currentView.Orientation == ApplicationViewOrientation.Portrait)
{
await StatusBar.GetForCurrentView().ShowAsync();
}
else if (currentView.Orientation == ApplicationViewOrientation.Landscape)
{
await StatusBar.GetForCurrentView().HideAsync();
}
}
是否可以在 Windows Phone 8.1
中隐藏屏幕旋转事件的状态栏?
以下代码在 Portrait
方向显示状态栏,并在 Landscape
方向隐藏状态栏。
首先您需要订阅 ApplicationView.VisibleBoundsChanged
活动。例如,您可以在 App.xaml.cs
构造函数中执行此操作:
ApplicationView.GetForCurrentView().VisibleBoundsChanged += OnVisibleBoundsChanged;
您使用 StatusBar.GetForCurrentView()
实例隐藏了状态栏。
OnVisibleBoundsChanged 方法:
private async void OnVisibleBoundsChanged(ApplicationView sender, object args)
{
var currentView = ApplicationView.GetForCurrentView();
if (currentView.Orientation == ApplicationViewOrientation.Portrait)
{
await StatusBar.GetForCurrentView().ShowAsync();
}
else if (currentView.Orientation == ApplicationViewOrientation.Landscape)
{
await StatusBar.GetForCurrentView().HideAsync();
}
}