Android 4.4 KitKatでは、ステータスバーとナビゲーションバーを_Android:windowTranslucentStatus
_および_Android:windowTranslucentNavigation
_テーマ要素で透明に設定できます。その後、バーの下でアプリウィンドウが拡張され、ただし、Android 5.0 Lollipopではこれが変更され、グラデーションの代わりに単色の透明色が追加されました。Android 5.0は新しい_Android:statusBarColor
_および_Android:navigationBarColor
_要素は新しいマテリアルテーマの下にありますが、これらの要素を_@Android:color/transparent
_に設定しようとすると、アプリウィンドウは拡張されず、_Android:windowTranslucentStatus
_および_Android:windowTranslucentNavigation
_その後_Android:statusBarColor
_および_Android:navigationBarColor
_は無視されます。
http://developer.Android.com/training/material/theme.html#StatusBar で説明されているものがありませんか?
Android:windowTranslucentStatus
をfalseに設定し、Android:statusBarColor
を@Android:color/transparent
に設定します。
次に、以下のコードを追加します。
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
ナビゲーションバーも半透明にする場合は、Android:navigationBarColor
を@Android:color/transparent
に設定し、フラグView.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
も組み合わせます。
ナビゲーションバーで実験したことはありませんが、動作します。
以下の行をスタイルに追加します。
<item name="Android:windowTranslucentStatus">true</item>
<item name="Android:windowTranslucentNavigation">true</item>
@ suckgamony's answer この質問に対する明確化:
Android:statusBarColor
_または_Android:navigationBarColor
_を_@Android:color/transparent
_は、ステータスバーまたはナビゲーションバーをそれぞれ作成します次の場合を除き、完全に透明:Android:windowTranslucentStatus
_または_Android:windowTranslucentNavigation
_がtrueに設定されている場合、ステータスバーまたはナビゲーションバー(それぞれ)は、@ AxeEffectが説明する無地の透明色に設定されます(再び、ロリポップの下)。Android:statusBarColor
_および_Android:navigationBarColor
_は、Androidバージョン21(Lollipop 5.0)以降)でのみ使用できます。 回答を参照 で説明されているように、 _Android:windowTranslucentStatus
_または_Android:windowTranslucentNavigation
_をKitKatと併用すると、完全な透明ではなく透明なグラデーションが提供されます。