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 构建外部 URL 仅在 iOS 中不加载 cli-5.2.0