测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | Apache 2 |
发布日期最后发布 | 2016年11月 |
由 Holly Schinsky,Shazron Abdullah 维护。
标题:状态栏
Android | iOS | Windows 8.1 商店 | Windows 8.1 手机 | Windows 10 商店 | Travis CI |
---|---|---|---|---|---|
StatusBar
对象提供了一些自定义 iOS 和 Android StatusBar 的功能。
此安装方法需要 cordova 5.0+
cordova plugin add cordova-plugin-statusbar
旧版本 cordova 仍然可以通过 已弃用 的 id 进行安装
cordova plugin add org.apache.cordova.statusbar
也可以直接通过仓库 URL 进行安装(不稳定)
cordova plugin add https://github.com/apache/cordova-plugin-statusbar.git
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="StatusBarStyle" value="lightcontent" />
Android 5+ 指南建议使用与主应用程序颜色不同的状态栏颜色(与许多 iOS 7+ 应用程序的统一状态栏颜色不同),因此您可能会希望通过 StatusBar.backgroundColorByHexString
或 StatusBar.backgroundColorByName
在运行时设置状态栏颜色。一种方法是
if (cordova.platformId == 'android') {
StatusBar.backgroundColorByHexString("#333");
}
在运行时,您可以使用下面提供的 StatusBar.hide 函数,但如果您想让 StatusBar 在应用程序启动时隐藏,则必须修改您的应用程序的 Info.plist 文件。
如果不存在,请添加/编辑这两个属性。将 "状态栏初始隐藏" 设置为 "是",并将 "基于视图控制器状态栏外观" 设置为 "否"。如果您在不使用 Xcode 的情况下手动编辑,则键值如下:
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
此插件定义了一个全局 StatusBar
对象。
虽然在全局范围内,但它必须在 deviceready
事件之后才能使用。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(StatusBar);
}
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="true" />
</feature>
在 iOS 7 上,决定状态栏是否重叠 WebView。
StatusBar.overlaysWebView(true);
在 iOS 7 上,设置为 false 以使状态栏看起来像 iOS 6。使用其他功能设置样式和背景色。
StatusBar.overlaysWebView(true);
StatusBar.overlaysWebView(false);
使用默认状态栏(暗文字,用于浅色背景)。
StatusBar.styleDefault();
使用 lightContent 状态栏(浅文字,用于深色背景)。
StatusBar.styleLightContent();
使用 blackTranslucent 状态栏(浅文字,用于深色背景)。
StatusBar.styleBlackTranslucent();
使用 blackOpaque 状态栏(浅文字,用于深色背景)。
StatusBar.styleBlackOpaque();
在 iOS 7 上,当将 StatusBar.statusBarOverlaysWebView 设置为 false 时,您可以通过颜色名称设置状态栏的背景颜色。
StatusBar.backgroundColorByName("red");
支持的颜色名称如下
black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown
通过十六进制字符串设置状态栏的背景颜色。
StatusBar.backgroundColorByHexString("#C0C0C0");
也支持 CSS 简写属性。
StatusBar.backgroundColorByHexString("#333"); // => #333333
StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB
在 iOS 7 上,当将 StatusBar.statusBarOverlaysWebView 设置为 false 时,您可以通过十六进制字符串(#RRGGBB)设置状态栏的背景颜色。
在WP7和WP8中,你也可以指定值为#AARRGGBB,其中AA是透明度值
隐藏状态栏。
StatusBar.hide();
显示状态栏。
StatusBar.show();
读取此属性以查看状态栏是否可见。
if (StatusBar.isVisible) {
// do something
}