使用Phonegap在Android中隐藏状态栏

时间:2018-07-12 10:45:14

标签: javascript android phonegap-build phonegap

我想在Android上隐藏状态栏。

在启动时,我没有状态栏,但灰色栏的顶部是状态栏的大小。 当我使用键盘时,状态栏就会出现。

我已经检查了这些答案,但不能解决我的问题:Hide Status Bar in Android with Phonegap Build

这是我的config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
    <name>Hello world</name>
    <description></description>
    <author email="" href="http://phonegap.com"></author>
    <content src="index.html" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="14" />
    <preference name="orientation" value="landscape" />
    <preference name="Fullscreen" value="true" />

    <plugin name="cordova-plugin-whitelist" source="npm" spec="~1.3.3" />
    <plugin name="cordova-plugin-device" source="npm" spec="~1.1.6" />
    <plugin name="cordova-plugin-fullscreen" spec="~1.1.0" />
    <plugin name="cordova-plugin-statusbar" spec="~2.4.2" />

    <config-file parent="UIStatusBarHidden">
        <true/>
    </config-file>
    <config-file parent="UIViewControllerBasedStatusBarAppearance">
        <false/>
    </config-file>

    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />

    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    <engine name="android" spec="~6.3.0" />
</widget>

我还将这段代码放在JS上:

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    StatusBar.hide();
    if (typeof AndroidFullScreen !== 'undefined') {   // Fullscreen plugin exists ?
        function errorFunction(error) { console.error(error); }
        AndroidFullScreen.isSupported(AndroidFullScreen.immersiveMode, errorFunction);
    }
}

1 个答案:

答案 0 :(得分:0)

要解决此问题,请在config.xml中添加此首选项:

<preference name="StatusBarOverlaysWebView" value="true" />