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

问题描述 投票:1回答:1

我已经使用了我在这里找到的所有功能,但我无法在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>

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

android cordova splash-screen statusbar phonegap
1个回答
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();
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.