Я должен сделать макет, где верх макета должен быть нарисован под SystemBars
. (минимальный уровень API для этого приложения - 22)
Я установил эти флаги для достижения этой цели. В других действиях я могу нарисовать целый фрагмент с видами под SystemBars
, но здесь я не могу это сделать.
Я использовал этот код, чтобы разрешить рисование макета в SystemBars
window.apply {
addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
statusBarColor = resources.getColor(android.R.color.transparent)
navigationBarColor = resources.getColor(android.R.color.transparent)
setBackgroundDrawable(background)
decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
}
Это результат в приложении:

Мне нужно нарисовать эту серую область под системной панелью.
Обновление:
@ Redman решение сработало только частично.
Теперь я могу рисовать под StatusBar
, но также я могу рисовать под программными кнопками (navigationButtons
), как вы можете видеть на экране ниже. Есть ли способ, как разрешить рисование макета в SystemBars
, но не разрешить его в navigationButtons
? Потому что тот код, который я опубликовал, работает для разных фрагментов в приложении. Но в других фрагментах у меня нет ImageView
как части ToolBar
. Если у вас есть только ToolBar
с, например, 2-цветным градиентным фоном и некоторыми backButton
+ SearchView
, это работает нормально. Но когда я добавлю ImageView
, ImageView
не будет "скользить" под вершиной SystemBar(aka StatusBar)
. Даже на изображении выше вы можете ясно видеть этот зеленый цвет (это фон панели инструментов, нарисованный под StatusBar
). Но ImageView
не может быть нарисовано под этим баром.
Единственный способ добиться этого - использовать эту специальную строку кода
window.apply {
setFlags( WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
}
но эта строка также позволяет рисовать содержимое макета в NavigationButtons
(что является проблемой).
