在ionic 3闪屏中更改状态栏颜色

时间:2018-08-16 05:24:22

标签: ionic-framework ionic3 statusbar

我已经用过

cordova-plugin-splashscreen

和config.xml中的

<preference name="SplashStatusBarBackgroundColor" value="#b83500" />
<preference name="SplashNavigationBarBackgroundColor" value="#b83500" />
<platform name="android">
    ...
</platform>

这是行不通的 并在component.ts中

this.statusBar.backgroundColorByHexString('#b83500');

但在启动屏幕后会更改。

所以,如何在启动屏幕期间更改状态栏的颜色。

2 个答案:

答案 0 :(得分:0)

删除启动画面插件并从中安装此版本的插件

ionic cordova plugin rm cordova-plugin-splashscreen
ionic cordova plugin add https://github.com/goinnn/cordova-plugin-splashscreen.git#4.0.0#colors

在此之后,您可以如前所述在configx.xml文件中添加首选项。但是,请将它们放在android部分

<platform name="android">
    <preference name="SplashStatusBarBackgroundColor" value="#b83500" />
    <preference name="SplashNavigationBarBackgroundColor" value="#b83500" />
    ...
</platform>

这将解决您的问题。

请记住,这将导致ios版本出现问题,因为这是插件本身的较旧版本。但是,它在android上完美运行。

这只会更改初始屏幕上状态栏的颜色。要保持颜色不变,您需要在app.component.ts文件中保留以下代码。

this.statusBar.backgroundColorByHexString('#b83500');

答案 1 :(得分:0)

对于Android,请在styles.xml中添加以下内容(我显示的状态栏为白色背景)

    <style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar">
        <item name="android:statusBarColor">@android:color/white</item>
    </style>

    <style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
        <item name="android:statusBarColor">@android:color/white</item>
    </style>