仅状态栏透明,而不是导航栏

时间:2019-09-03 07:46:31

标签: android android-statusbar android-navigation-bar

我想设置一个透明的状态栏,而不是导航栏。

我尝试了什么

window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)

但是它将状态栏和导航栏设置为透明。我只希望状态栏透明

我也想基于Fragment设置不同的状态栏颜色,而我的导航抽屉是一个覆盖状态栏,像这样

enter image description here

2 个答案:

答案 0 :(得分:0)

在主题中设置以下属性:

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>

在您的布局中,您希望有一个透明的状态栏,将其设置为以下属性:

android:fitsSystemWindows="true"

答案 1 :(得分:0)

在Lolipop及更高版本上:

window.statusBarColor = ContextCompat.getColor(this, android.R.color.transparent)

在棉花糖及更高版本上,带有深色图标的透明状态

window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR

或带有灯光图标的透明状态

window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN