1

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

我试过的

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

但它设置状态栏和导航栏都是透明的。我只想要状态栏透明

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

在此处输入图像描述

4

2 回答 2

0

在 Lolipop 及更高版本上:

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

并在 Marshmallow 及更高版本上以深色图标显示透明状态

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
于 2019-09-03T12:51:44.010 回答
0

在您的主题中设置这些属性:

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

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

android:fitsSystemWindows="true"
于 2019-09-03T07:57:27.420 回答