pajatopmr
07/15/2020, 4:39 AMTimo Drick
07/15/2020, 8:57 AMAdrian Blanco
07/15/2020, 9:57 AMTimo Drick
07/15/2020, 10:01 AMprivate var insets by mutableStateOf(WindowInsetsCompat.Builder().build())
private val systemWindowInsetListener = { view: View, insets: WindowInsetsCompat ->
this.insets = insets
insets}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ViewCompat.setOnApplyWindowInsetsListener(window.decorView.rootView, systemWindowInsetListener)
Than you can draw your app also behinde system bars.
But it is and was every time in Android very hard to get every thing right. So i think you also need some style attributes like following:
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowBackground">@color/transparent</item>
<!--<item name="android:windowShowWallpaper">true</item>-->
<item name="android:colorBackgroundCacheHint">@null</item>
val insetPadding = with(DensityAmbient.current) {
val ltr = ConfigurationAmbient.current.localeLayoutDirection == LayoutDirection.Ltr
with (insets) {
InnerPadding(
start = if (ltr) systemWindowInsetLeft.toDp() else systemWindowInsetRight.toDp(),
top = systemWindowInsetTop.toDp(),
end = if (ltr) systemWindowInsetRight.toDp() else systemWindowInsetLeft.toDp(),
bottom = systemWindowInsetBottom.toDp()
)
}
}
pajatopmr
07/16/2020, 8:18 AMTimo Drick
07/16/2020, 9:17 AM