在 Cordova 中更改 Android 状态栏颜色
Posted
技术标签:
【中文标题】在 Cordova 中更改 Android 状态栏颜色【英文标题】:Change Android Statusbar color In Cordova 【发布时间】:2016-11-05 06:05:25 【问题描述】:我想更改 android 中的状态栏颜色(我使用 6.0 进行测试)。我尝试了状态栏插件和我找到的所有解决方案,但没有任何效果。
这包含在我的 config.xml <widget>
:
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#BE1912" />
我的 index.js 不包括:
if (window.cordova && StatusBar)
StatusBar.backgroundColorByHexString('#3399FF');
为每个包名和 github repo 添加了插件。
到目前为止没有任何效果......
提前致谢! :)
【问题讨论】:
【参考方案1】:状态栏插件将起作用。从 config.xml 中删除这些行
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#BE1912" />
并在deviceready
中写入StatusBar.backgroundColorByHexString('#3399FF');
,如下所示
document.addEventListener('deviceready', function()
StatusBar.backgroundColorByHexString('#3399FF'););
【讨论】:
你的设备写好了吗?给我看完整的JS文件。 您已经编写了两个设备就绪函数。删除所有代码。只写我在答案中发布的代码。您应该只编写一个设备就绪函数。 仍然无法正常工作...而且我确定这不是因为我的设备,因为它可以在其他应用程序上运行。这是我唯一的代码:document.addEventListener('deviceready', function() StatusBar.backgroundColorByHexString('#3399FF'););
参考这个-***.com/questions/31429522/…【参考方案2】:
我刚刚在 config.xml 中包含了以下首选项,现在正在使用:
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#5b2e90" />
<preference name="StatusBarStyle" value="lightcontent" />
【讨论】:
不适合我..<widget ...><your code>...</widget>
【参考方案3】:
在 index.html(应用程序的起始页)中提及以下代码注意:- 在整个 Cordova 应用程序中无需提及,只需在索引中提及.html(应用的起始页)
<script type="text/javascript" charset="utf-8">
$(document).ready(function ()
document.addEventListener("deviceready", onDeviceReady, false);
);
function onDeviceReady()
StatusBar.overlaysWebView(false);
StatusBar.backgroundColorByHexString("#333"); // => #333333
StatusBar.styleLightContent();
console.log(statusbar);
</script>
【讨论】:
以上是关于在 Cordova 中更改 Android 状态栏颜色的主要内容,如果未能解决你的问题,请参考以下文章
Android Cordova 状态栏插件 - “StatusBar.hide();”在哪里去?