Fix issue where view padding would not properly update on rotation.

main
Alex Hart 2023-02-16 10:40:31 -04:00 zatwierdzone przez Greyson Parrelli
rodzic ef11a8d98d
commit 7215ca6a28
1 zmienionych plików z 16 dodań i 12 usunięć

Wyświetl plik

@ -18,12 +18,14 @@ object SystemWindowInsetsSetter {
val insets: Insets? = ViewCompat.getRootWindowInsets(view)?.getInsets(insetType) val insets: Insets? = ViewCompat.getRootWindowInsets(view)?.getInsets(insetType)
if (Build.VERSION.SDK_INT > 29 && insets != null && !insets.isEmpty()) { if (Build.VERSION.SDK_INT > 29 && insets != null && !insets.isEmpty()) {
view.post {
view.setPadding( view.setPadding(
insets.left, insets.left,
insets.top, insets.top,
insets.right, insets.right,
insets.bottom insets.bottom
) )
}
} else { } else {
val top = if (insetType and WindowInsetsCompat.Type.statusBars() != 0) { val top = if (insetType and WindowInsetsCompat.Type.statusBars() != 0) {
ViewUtil.getStatusBarHeight(view) ViewUtil.getStatusBarHeight(view)
@ -37,6 +39,7 @@ object SystemWindowInsetsSetter {
0 0
} }
view.post {
view.setPadding( view.setPadding(
0, 0,
top, top,
@ -45,6 +48,7 @@ object SystemWindowInsetsSetter {
) )
} }
} }
}
val lifecycleObserver = object : DefaultLifecycleObserver { val lifecycleObserver = object : DefaultLifecycleObserver {
override fun onDestroy(owner: LifecycleOwner) { override fun onDestroy(owner: LifecycleOwner) {