Cordova: плагин StatusBar работает на эмуляторе, но не на устройстве - PullRequest
0 голосов
/ 16 мая 2018

У меня есть проект cordova, и я установил плагин StatusBar, чтобы закрасить строку состояния устройства на платформе Android.Плагин отображает правильный цвет строки состояния, если я запускаю проект на AVD (рис. 1), но когда я запускаю его на устройстве, он не работает.

Я также заметил, что когда я запускаю проект на устройстве с деинсталлированным плагином, представление занимает весь экран, но если я запускаю его с установленным плагином, между представлением приложения и верхом появляется черное пространство.и нижняя часть панели навигации и строки состояния телефона (рис. 2).

Устройство: Samsung S9 под управлением Android 8.0.0 (Oreo)
Версия Cordova: 8.0.0
Версия плагина StatusBar: 2.4.2
Плагин белого списка Cordova: 1.3.3

index.js:

var app = {
    // Application Constructor
    initialize: function() {
        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
    },

    // deviceready Event Handler
    //
    // Bind any cordova events here. Common events are:
    // 'pause', 'resume', etc.
    onDeviceReady: function() {
        this.receivedEvent('deviceready');
        StatusBar.backgroundColorByHexString("#CF4D4D");
    },

    // Update DOM on a Received Event
    receivedEvent: function(id) {
    }
};

app.initialize();

pic1 pic2

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Вы также можете установить их в своем config.xml:

<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#CF4D4D" />
<preference name="StatusBarDefaultScrollToTop" value="false" />

Если это поможет вам.

0 голосов
/ 21 мая 2018

Я протестировал ваш код, и он отлично работает на 4 разных устройствах с Android 5, 6, 7 и 8.1, так что это явно ошибка в плагине. (возможно, зависит от устройства или поставщика)

Итак, сообщите об этом https://issues.apache.org/jira/browse/CB, предоставив всю возможную информацию. (Информации по этому «вопросу» должно хватить)

...