PHONEGAP ANDROID:仅在应用程序主屏幕(SplashScreen)上隐藏状态栏

时间:2018-05-05 01:40:55

标签: android cordova splash-screen statusbar phonegap

我已经使用了我在这里找到的所有功能,但我无法在Phonegap中更改应用程序状态栏的黑色。

我可以使用插件更改应用程序栏状态的颜色:

<gap:plugin name="cordova-plugin-statusbar" source="npm" />
<preference name="fullscreen" value="false" />
<preference name="android-minSdkVersion" value="16" />     
<preference name="ShowSplashScreenSpinner" value="false" />   
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#9d0101" />
<preference name="StatusBarStyle" value="lightcontent" /> 
<preference name="StatusBarDefaultScrollToTop" value="false" />

应用程序状态栏会根据需要更改颜色,但是Splashscreen会保持颜色为黑色并且不会更改,当我添加“全屏”时,我不希望我的应用程序全屏显示,我想隐藏状态栏仅在启动画面上。我的应用程序是在Phonegap中编译的,我如何仅在SplashScreen上隐藏状态栏?

我已尝试使用下面的代码,但它会将整个应用程序保留在全屏:

    <?xml version='1.0' encoding='utf-8'?>
    <widget ... xmlns:android="http://schemas.android.com/apk/res/android">

    ...
    <edit-config file="AndroidManifest.xml" mode="merge"
                 target="/manifest/application/activity">
        <activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
    </edit-config>
    ...
</widget>

我想要的是仅在应用程序启动屏幕上隐藏状态栏,之后,它会根据我使用的颜色重新出现。

1 个答案:

答案 0 :(得分:0)

您需要添加Android Fullscreen,然后添加以下配置

config.xml

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
    <activity android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen" />
</edit-config>

app.component.ts

constructor(
    platform: Platform,
    statusBar: StatusBar,
    splashScreen: SplashScreen
    androidFullScreen: AndroidFullScreen
  ) {
    platform.ready().then(() => {
      splashScreen.hide();

      if (platform.is('android')) {
        androidFullScreen.showSystemUI();
      }

      statusBar.styleDefault();
    });
}