我有一个cordova项目,我安装了StatusBar插件,为Android平台中设备的状态栏着色。如果我在AVD(pic1)上运行项目,插件会显示正确的状态栏颜色,但是当我在设备上运行它时,它似乎不起作用。
我还注意到,当我在设备上运行项目并卸载了插件时,视图会占用整个屏幕,但是如果我在安装插件的情况下运行它,则应用视图与顶部和底部之间会出现黑色空间。手机的导航栏和状态栏(图2)。
设备:三星S9运行Android 8.0.0(奥利奥)
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();
答案 0 :(得分:1)
我已经对您的代码进行了测试,它可以在Android 5,6,7和8.1的4个不同设备上正常运行,因此它显然是插件中的一个错误。 (可能是设备特定的或供应商特定的)
请在https://issues.apache.org/jira/browse/CB上报告,提供所有可能的信息。 (有关此问题的信息"问题"应该足够了)
答案 1 :(得分:1)
您也可以在config.xml
中设置它们:
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#CF4D4D" />
<preference name="StatusBarDefaultScrollToTop" value="false" />
如果这对你有任何帮助。