3
0
Fork 0
forked from suyu/suyu

android: Prevent nav bar shade from laying out across screen

This commit is contained in:
Charles Lombardo 2023-09-25 17:58:26 -04:00
parent a19f62e636
commit 38b939b2e9
2 changed files with 7 additions and 5 deletions

View file

@ -181,12 +181,14 @@ class SettingsActivity : AppCompatActivity() {
private fun setInsets() { private fun setInsets() {
ViewCompat.setOnApplyWindowInsetsListener( ViewCompat.setOnApplyWindowInsetsListener(
binding.navigationBarShade binding.navigationBarShade
) { view: View, windowInsets: WindowInsetsCompat -> ) { _: View, windowInsets: WindowInsetsCompat ->
val barInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()) val barInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
val mlpShade = view.layoutParams as MarginLayoutParams // The only situation where we care to have a nav bar shade is when it's at the bottom
mlpShade.height = barInsets.bottom // of the screen where scrolling list elements can go behind it.
view.layoutParams = mlpShade val mlpNavShade = binding.navigationBarShade.layoutParams as MarginLayoutParams
mlpNavShade.height = barInsets.bottom
binding.navigationBarShade.layoutParams = mlpNavShade
windowInsets windowInsets
} }

View file

@ -22,7 +22,7 @@
<View <View
android:id="@+id/navigation_bar_shade" android:id="@+id/navigation_bar_shade"
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="1px" android:layout_height="1px"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"