WP8.1&UWP手机设备对状态栏操作
改UWP和WP8.1手机设备的状态栏。
首先先说较为普遍的WP8.1设备:
首先添加引用:using Windows.UI.ViewManagement;
其次就可以使用StatusBar了,它提供了以下方法
StatusBar statusbar = StatusBar.GetForCurrentView();//获取当前状态栏 await statusbar.HideAsync();//隐藏状态栏 await statusbar.ShowAsync();//开启状态栏 statusbar.BackgroundColor = Colors.Red;//更改状态栏的背景色 statusbar.BackgroundOpacity = 0.5;//更改状态栏的透明度,1~0,1为最强,0为没有,透明
当然,这个方法还提供了两个Hiding和Showing开启时的方法。以供我们使用。
注意的是,背景栏的透明度是0,也就是透明的,需要你改变的其透明度,在改变颜色,不然你是看不出来的
以上这就是WP8.1设备对状态栏的操作方法。
下面是
UWP
首先只有在手机上面才会有对状态栏的操作。
先是添加UWP项目对手机的支持,在资源管理器-项目-右键-添加-引用
会有不同的版本,添加你目标设备的版本号就可以了。
添加之后,还是先添加引用:using Windows.UI.ViewManagement;
之后就可以使用这个StatusBar了。
提供的方法和WP8.1的设备基本大同小异,没有什么使用不用的地方。下面是几个经常用的。
StatusBar statusbar = StatusBar.GetForCurrentView();//注册 statusbar.BackgroundColor = Colors.Black;//背景栏颜色 statusbar.BackgroundOpacity = 1;//背景栏透明度,默认是0,也就是透明,修改背景栏颜色时,最好注意下 statusbar.ForegroundColor = Colors.Red;//背景栏字体 await statusbar.HideAsync();//开启背景栏 await statusbar.ShowAsync();//关闭背景栏
如果需要全局修改背景栏的话,可以放在全局设置里面,APP.i.cs中,当然UWP和WP都是一样的
在UWP设备中,还有别的设备,也可以使用ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar")
来判断是否引用了这个API,换句话是否为手机
if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar")) { //对状态栏的操作 }