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

Posted

技术标签:

【中文标题】PHONEGAP ANDROID:仅在应用程序主屏幕 (SplashScreen) 上隐藏状态栏【英文标题】:PHONEGAP ANDROID: Hide Status Bar only on the Application Home Screen (SplashScreen) 【发布时间】:2018-10-15 12:44:24 【问题描述】:

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

应用程序状态栏根据需要更改颜色,但是启动画面保持黑色并且不会更改,当我输入“全屏”时它会添加,但我不希望我的应用程序处于全屏状态,我想隐藏仅在初始屏幕上的状态栏。我的应用是在 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】:

需要添加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();
    );

【讨论】:

以上是关于PHONEGAP ANDROID:仅在应用程序主屏幕 (SplashScreen) 上隐藏状态栏的主要内容,如果未能解决你的问题,请参考以下文章

Android 中的推送通知仅在 PhoneGap 应用程序在前台使用 node-pushnotifications 时有效

为啥我的 PhoneGap 应用程序图形仅在 iOS 上损坏?

Phonegap iOS 应用程序仅在最小化时才请求权限

PhoneGap 构建外部 URL 仅在 iOS 中不加载 cli-5.2.0

Android Geolocation onError Phonegap

ngInclude 在 Android 的 PhoneGap 构建中失败