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"))
{
//对状态栏的操作
}

 

posted @ 2016-12-03 23:27  ARM830  阅读(316)  评论(0编辑  收藏  举报