cordova-plugin-statusbar 2.2.0

cordova-plugin-statusbar 2.2.0

测试已测试
语言语言 Obj-CObjective C
许可证 Apache 2
发布日期最后发布2016年11月

Holly SchinskyShazron Abdullah 维护。



  • Adobe PhoneGap 团队

标题:状态栏

描述:控制设备状态栏。

Android iOS Windows 8.1 商店 Windows 8.1 手机 Windows 10 商店 Travis CI
Build Status Build Status Build Status Build Status Build Status

cordova-plugin-statusbar

StatusBar

StatusBar 对象提供了一些自定义 iOS 和 Android StatusBar 的功能。

⚠️Apache Cordova 问题跟踪器 上报告问题

安装

此安装方法需要 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

首选项

config.xml

  • (布尔值,默认为 true)。在 iOS 7 中,在启动时使状态栏覆盖或不对 WebView 进行覆盖。

    <preference name="StatusBarOverlaysWebView" value="true" />
    
  • (颜色十六进制字符串,无默认值)。在 iOS 7 中,使用十六进制字符串(#RRGGBB)在启动时设置状态栏的背景颜色。如果未设置此值,背景颜色将为透明。

    <preference name="StatusBarBackgroundColor" value="#000000" />
    
  • (状态栏样式,默认为 lightcontent)。在 iOS 7 中设置状态栏样式。可用选项包括 default、lightcontent、blacktranslucent、blackopaque。

    <preference name="StatusBarStyle" value="lightcontent" />
    

Android 特殊情况

Android 5+ 指南建议使用与主应用程序颜色不同的状态栏颜色(与许多 iOS 7+ 应用程序的统一状态栏颜色不同),因此您可能会希望通过 StatusBar.backgroundColorByHexStringStatusBar.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);
}
  • StatusBar.overlaysWebView
  • StatusBar.styleDefault
  • StatusBar.styleLightContent
  • StatusBar.styleBlackTranslucent
  • StatusBar.styleBlackOpaque
  • StatusBar.backgroundColorByName
  • StatusBar.backgroundColorByHexString
  • StatusBar.hide
  • StatusBar.show

属性

  • StatusBar.isVisible

权限

config.xml

        <feature name="StatusBar">
            <param name="ios-package" value="CDVStatusBar" onload="true" />
        </feature>

StatusBar.overlaysWebView

在 iOS 7 上,决定状态栏是否重叠 WebView。

StatusBar.overlaysWebView(true);

描述

在 iOS 7 上,设置为 false 以使状态栏看起来像 iOS 6。使用其他功能设置样式和背景色。

支持的平台

  • iOS

快速示例

StatusBar.overlaysWebView(true);
StatusBar.overlaysWebView(false);

StatusBar.styleDefault

使用默认状态栏(暗文字,用于浅色背景)。

StatusBar.styleDefault();

支持的平台

  • iOS
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.styleLightContent

使用 lightContent 状态栏(浅文字,用于深色背景)。

StatusBar.styleLightContent();

支持的平台

  • iOS
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.styleBlackTranslucent

使用 blackTranslucent 状态栏(浅文字,用于深色背景)。

StatusBar.styleBlackTranslucent();

支持的平台

  • iOS
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.styleBlackOpaque

使用 blackOpaque 状态栏(浅文字,用于深色背景)。

StatusBar.styleBlackOpaque();

支持的平台

  • iOS
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.backgroundColorByName

在 iOS 7 上,当将 StatusBar.statusBarOverlaysWebView 设置为 false 时,您可以通过颜色名称设置状态栏的背景颜色。

StatusBar.backgroundColorByName("red");

支持的颜色名称如下

black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown

支持的平台

  • iOS
  • Android 5+
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.backgroundColorByHexString

通过十六进制字符串设置状态栏的背景颜色。

StatusBar.backgroundColorByHexString("#C0C0C0");

也支持 CSS 简写属性。

StatusBar.backgroundColorByHexString("#333"); // => #333333
StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB

在 iOS 7 上,当将 StatusBar.statusBarOverlaysWebView 设置为 false 时,您可以通过十六进制字符串(#RRGGBB)设置状态栏的背景颜色。

在WP7和WP8中,你也可以指定值为#AARRGGBB,其中AA是透明度值

支持的平台

  • iOS
  • Android 5+
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.hide

隐藏状态栏。

StatusBar.hide();

支持的平台

  • iOS
  • Android
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.show

显示状态栏。

StatusBar.show();

支持的平台

  • iOS
  • Android
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.isVisible

读取此属性以查看状态栏是否可见。

if (StatusBar.isVisible) {
    // do something
}

支持的平台

  • iOS
  • Android
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1