android: Use navigation bar shade view for settings activity

This commit is contained in:
Charles Lombardo 2023-04-23 19:43:09 -04:00 committed by bunnei
parent cfa3d73f2f
commit 033adb9723
2 changed files with 20 additions and 3 deletions

View file

@ -8,6 +8,7 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.Menu import android.view.Menu
import android.view.View import android.view.View
import android.view.ViewGroup
import android.widget.Toast import android.widget.Toast
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
@ -51,9 +52,11 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
setSupportActionBar(binding.toolbarSettings) setSupportActionBar(binding.toolbarSettings)
supportActionBar!!.setDisplayHomeAsUpEnabled(true) supportActionBar!!.setDisplayHomeAsUpEnabled(true)
ThemeHelper.setNavigationBarColor( binding.navigationBarShade.setBackgroundColor(
this, ThemeHelper.getColorWithOpacity(
MaterialColors.getColor(window.decorView, R.attr.colorSurface) MaterialColors.getColor(binding.navigationBarShade, R.attr.colorSurface),
ThemeHelper.SYSTEM_BAR_ALPHA
)
) )
setInsets() setInsets()
@ -164,6 +167,11 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()) val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
view.updatePadding(left = insets.left, right = insets.right) view.updatePadding(left = insets.left, right = insets.right)
InsetsHelper.insetAppBar(insets, binding.appbarSettings) InsetsHelper.insetAppBar(insets, binding.appbarSettings)
val mlpShade = binding.navigationBarShade.layoutParams as ViewGroup.MarginLayoutParams
mlpShade.height = insets.bottom
binding.navigationBarShade.layoutParams = mlpShade
windowInsets windowInsets
} }
} }

View file

@ -26,4 +26,13 @@
android:layout_height="match_parent" android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" /> app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<View
android:id="@+id/navigation_bar_shade"
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@android:color/transparent"
android:clickable="false"
android:focusable="false"
android:layout_gravity="bottom|center_horizontal" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>