Android 15 предлагает использовать enableedgetoedge () , но это удаляет верхнее смещение строки состояния, в результате чего основной контент перекрывается с ним. Просто оставьте это прозрачным и содержимое рендеринга под ним.// in the MainActivity.onCreate():
enableEdgeToEdge()
// the callback will be invoked repeatedly, use this flag to only set the margin-top once
var offsetAdjusted = false
window.decorView.setOnApplyWindowInsetsListener { _, insets ->
if (!offsetAdjusted) {
offsetAdjusted = true
val top = if(Build.VERSION.SDK_INT > Def.ANDROID_10) // for android > 10
insets.getInsetsIgnoringVisibility(WindowInsets.Type.statusBars()).top
else // for android 10
view.rootWindowInsets.stableInsetTop
// the fragment container, which is a FragmentContainerView
val container = binding.root.findViewById(R.id.nav_host_fragment_activity_main)
val params = container.layoutParams as ViewGroup.MarginLayoutParams
params.topMargin = top
container.layoutParams = params
}
insets
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... android-15