android: Prevent nav bar shade from laying out across screen
This commit is contained in:
parent
a19f62e636
commit
38b939b2e9
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
|
|
Reference in New Issue