我想设置一个透明的状态栏,而不是导航栏。
我试过的
window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
但它设置状态栏和导航栏都是透明的。我只想要状态栏透明
我还想根据 Fragment 设置不同的状态栏颜色,而我的导航抽屉是一个覆盖状态栏,像这样
我想设置一个透明的状态栏,而不是导航栏。
我试过的
window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
但它设置状态栏和导航栏都是透明的。我只想要状态栏透明
我还想根据 Fragment 设置不同的状态栏颜色,而我的导航抽屉是一个覆盖状态栏,像这样
在 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
在您的主题中设置这些属性:
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
在您的布局中,您希望有一个透明的状态栏,设置以下属性:
android:fitsSystemWindows="true"