在 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" />

【讨论】:

不适合我.. &lt;widget ...&gt;&lt;your code&gt;...&lt;/widget&gt;【参考方案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 状态栏颜色的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Cordova 更改状态栏

Cordova - Android 状态栏插件

Android Cordova 状态栏插件 - “StatusBar.hide();”在哪里去?

状态栏和标题之间的 Cordova Android 空白

如何使用 Cordova 显示状态栏通知 - Android 和 IOS

Cordova Android状态栏设置为透明