Только строка состояния Прозрачная, а не панель навигации

Я хочу установить прозрачную строку состояния, а не панель навигации.

что я пробовал

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

Но он сделал панель состояния и панель навигации прозрачными. Я хочу, чтобы только строка состояния была прозрачной

Я также хочу установить другой цвет строки состояния на основе фрагмента, и мой навигационный ящик является переопределяющей строкой состояния, например

введите здесь описание изображения


person Akshay Raiyani    schedule 03.09.2019    source источник


Ответы (2)


Установите эти свойства в своей теме:

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

И в вашем макете вы хотите иметь прозрачную строку состояния, установленную ниже атрибута:

android:fitsSystemWindows="true"
person M Karimi    schedule 03.09.2019

На 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
person cobe_tech    schedule 03.09.2019