Spec-Zone.ru › Cordova 8

cordova-plugin-statusbar

StatusBar

Объект StatusBar предоставляет некоторые функции для настройки статусной строки iOS и Android.

:warning: Сообщите о проблемах на форуме отслеживания проблем 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

  • StatusBarOverlaysWebView (boolean, по умолчанию true). В iOS 7 перекрывает ли статусная строка WebView при запуске.

    <preference name="StatusBarOverlaysWebView" value="true" />
    
  • StatusBarBackgroundColor (строка цвета в шестнадцатеричном формате, значение по умолчанию отсутствует). В iOS 7 устанавливает цвет фона статусной строки в шестнадцатеричном формате (#RRGGBB) при запуске. Если это значение не задано, цвет фона будет прозрачным.

    <preference name="StatusBarBackgroundColor" value="#000000" />
    
  • StatusBarStyle (стиль статусной строки, по умолчанию lightcontent). В iOS 7 устанавливает стиль статусной строки. Доступные варианты default, lightcontent, blacktranslucent, blackopaque.

    <preference name="StatusBarStyle" value="lightcontent" />
    
  • StatusBarDefaultScrollToTop (boolean, по умолчанию false). В iOS 7 разрешает Cordova WebView использовать стандартное поведение прокрутки к верху. По умолчанию false, чтобы вы могли прослушивать событие "statusTap" (описанное ниже) и настраивать поведение самостоятельно.

    <preference name="StatusBarDefaultScrollToTop" value="false" />
    

Особенности Android

Руководства 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);
}
  • StatusBar.overlaysWebView
  • StatusBar.styleDefault
  • StatusBar.styleLightContent
  • StatusBar.styleBlackTranslucent
  • StatusBar.styleBlackOpaque
  • StatusBar.backgroundColorByName
  • StatusBar.backgroundColorByHexString
  • StatusBar.hide
  • StatusBar.show

Свойства

  • StatusBar.isVisible

События

  • statusTap

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
  • Android 6+
  • Windows Phone 7
  • Windows Phone 8
  • Windows Phone 8.1

StatusBar.styleLightContent

Используйте статусную строку lightContent (светлый текст на тёмном фоне).

StatusBar.styleLightContent();

Поддерживаемые платформы

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

StatusBar.styleBlackTranslucent

Используйте статусную строку blackTranslucent (светлый текст на тёмном фоне).

StatusBar.styleBlackTranslucent();

Поддерживаемые платформы

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

StatusBar.styleBlackOpaque

Используйте статусную строку blackOpaque (светлый текст на тёмном фоне).

StatusBar.styleBlackOpaque();

Поддерживаемые платформы

  • iOS
  • Android 6+
  • 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

statusTap

Прослушивайте это событие, чтобы узнать, была ли нажата статусная строка.

window.addEventListener('statusTap', function() {
    // scroll-up with document.body.scrollTop = 0; or do whatever you want
});

Поддерживаемые платформы

  • iOS

© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/8.x/reference/cordova-plugin-statusbar/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API