アプリのステータスバーの色を変更して、黒のアイコンが付いた白になるようにします(白のアイコンが付いたデフォルトの黒の代わりに)。これを行う方法はありますか?
Android M(api level 23)を使用すると、Android:windowLightStatusBar
属性。
編集:
Pdroidが述べたように、これもプログラムで実現できます。
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
グレーのアイコンで白いステータスバーを作成することができます。 SDK> = 23の場合:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="Android:windowLightStatusBar">true</item>
</style>
styles.xmlでcolorPrimary
を白に設定しますまたはプログラムで:
getWindow().setStatusBarColor(Color.WHITE);
Kotlinでのアクティビティに追加したばかりです。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
window.decorView.systemUiVisibility =View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
window.statusBarColor = Color.WHITE
}
これをあなたのスタイルに追加するだけです
<item name="Android:windowDrawsSystemBarBackgrounds">true</item>
<item name="Android:statusBarColor">@Android:color/transparent</item>
Android:windowDrawsSystemBarBackgroundsをtrue *に設定します。これは、以下で説明するフラグです。
このWindowがシステムバーの背景の描画を担当するかどうかを示すフラグ。 trueで、ウィンドウがフローティングでない場合、システムバーは透明な背景で描画され、このウィンドウの対応する領域は{@link Android.R.attr#statusBarColor}および{@link Android.Rで指定された色で塗りつぶされます.attr#navigationBarColor}。 {@link Android.view.WindowManager.LayoutParams#FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS}に対応します。
これを手動でカスタマイズするためにROM全体を制御できる場合を除き、この方法はありません。あなたがすることをお勧めすることは、グーグルドライブのようにテーマを通してステータスバーの色に明るい灰色を使用することです。
編集:これはAndroid Mで変更されたため、@ Wrekckerの回答を参照してください。