iOS 状态栏 PhoneGap/Cordova 的黑色文本颜色

4

我正在尝试在我的PhoneGap应用中更改iOS状态栏文本颜色,但是对我来说不起作用。 我尝试了cordova.statusbar插件和核心设置的不同组合。 现在在我的config.xml文件中添加了以下内容:

<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarStyle" value="default" />

我该使用哪些设置来让我的应用程序状态栏中的文本是黑色的?

PS. 对不起,我的英语不好。


默认是黑色文本在白色状态栏中,你安装了插件吗? - jcesarmobile
@jcesarmobile 是的,我在我的配置文件中有 <gap:plugin name="org.apache.cordova.statusbar" />。我还尝试在安装插件之前和之后放置这段代码 <preference name="StatusBarOverlaysWebView" value="false" /><preference name="StatusBarStyle" value="default" />... - Ilya Spark
你是在使用Cordova还是PhoneGap Build? - jcesarmobile
@jcesarmobile 是的,我在PhoneGap Build中安装的插件列表中看到了org.apache.cordova.statusbar。 - Ilya Spark
是的?我在问你是否使用cordova或phonegap build,答案不能是“是”,必须是“我使用cordova”或“我使用phonegap build”。 - jcesarmobile
如果您正在使用PhoneGap Build,请将此行放在config.xml中,并删除其他行:<gap:plugin name="cordova-plugin-statusbar" source="npm" /> - jcesarmobile
3个回答

3

移除第一个不存在的内容,将 StatusBarStyle 改为 lightcontent

<preference name="StatusBarStyle" value="lightcontent" />

我已经删除了第一行代码<preference name="StatusBarOverlaysWebView" value="false" /><preference name="StatusBarStyle" value="lightcontent" />,但是我的状态栏颜色仍然是白色 :( - Ilya Spark
你想要哪种颜色?你刚才说你想要白色的文本。 - jcesarmobile
你第一时间安装了插件吗?默认会使文本变为黑色。 - jcesarmobile

2

0

如果您的状态栏是黑色的,请使用styleLightContent()方法来设置白色文本,如果您的背景是白色的,请使用styleDefault()方法来设置黑色文本。

这些方法的文档注释:

// Use the default statusbar (dark text, for light backgrounds).
statusBar.styleDefault();

// Use the lightContent statusbar (light text, for dark backgrounds).
statusBar.styleLightContent();

在Android上,config.xml中的preference没有效果。您必须在运行时调用方法。请参阅文档 不幸的是,它不会自动设置状态栏文本。您需要找出状态栏背景的主题颜色,以决定调用哪种方法。或者使用您自己的固定主题或覆盖它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接