ionic3 строка состояния Android не отображается значок
Когда я обновляю свою ионную версию проекта, приложение андроида имеет строку состояния, которая не может отображать значок при входе в приложение:
При входе в приложение:
Кто-нибудь знает, как решить? Моя информация:
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils : 1.17.0
ionic (Ionic CLI) : 3.17.0
глобальные пакеты:
cordova (Cordova CLI) : 7.1.0
локальные пакеты:
@ionic/app-scripts : 3.0.1
Cordova Platforms : android 6.3.0 ios 4.6.0-nightly.2017.11.22.24bfb734
Ionic Framework : ionic-angular 3.8.0
система:
ios-deploy : 1.9.2
ios-sim : 5.0.13
Node : v7.10.0
npm : 5.5.1
OS : macOS Sierra
Xcode : Xcode 9.0.1 Build version 9A1004
Переменные среды:
ANDROID_HOME : not set
Разное:
backend : legacy
Ответы
Ответ 1
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { Platform } from 'ionic-angular';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
constructor(public platform: Platform, public statusBar: StatusBar) {
platform.ready().then(() => {
statusBar.styleDefault();
if (platform.is('android')) {
statusBar.overlaysWebView(false);
statusBar.backgroundColorByHexString('#000000');
}
});
}
}
Это исправило мою проблему.
Ответ 2
Я разрешил
statusBar.styleBlackOpaque();
вместо
statusBar.styleDefault();
Ответ 3
Я нашел это полезным. Вы можете использовать один из этих трех вариантов в ионном 3
import { StatusBar } from '@ionic-native/status-bar';
import { Platform } from 'ionic-angular';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
constructor(public platform: Platform, public statusBar: StatusBar) {
this.platform.ready().then(() => {
// for Black
if(this.platform.is('android')) {
this.statusBar.styleBlackOpaque();
}
}
}
}
Вы также можете использовать один для цвета шестнадцатеричного кода
this.statusBar.backgroundColorByHexString('#fff');
Это одно для светлой темы, которая встроена.
this.statusBar.styleLightContent();
Ответ 4
в вашем app.component.ts Убедитесь, что у вас есть
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
...
@Component({
templateUrl: 'app.html'
})
export class MyApp {
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
statusBar.styleDefault();
splashScreen.hide();
});
}
И чтобы быть в безопасности, выполните следующие команды.
$ ionic cordova plugin add cordova-plugin-statusbar
$ npm install --save @ionic-native/status-bar
Когда все будет сделано. Создайте свой Apk с помощью своей любимой команды, или вы тоже можете попробовать это
$ ionic cordova run android --device
Ответ 5
Измените statusBar.styleDefault()
на statusBar.styleLightContent()
в app.component.ts
.