From fd22c0f8b56caa4b7271de66a9a656e98ba5f7ab Mon Sep 17 00:00:00 2001 From: tzugen Date: Tue, 6 Jun 2023 10:52:00 +0200 Subject: [PATCH] Add little dropdown icon to server selector header to show interactivity. --- .../ultrasonic/activity/NavigationActivity.kt | 15 +++++++--- .../src/main/res/drawable/arrow_drop_down.xml | 5 ++++ .../main/res/layout/navigation_activity.xml | 1 + .../src/main/res/layout/navigation_header.xml | 30 ++++++++++++++----- 4 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 ultrasonic/src/main/res/drawable/arrow_drop_down.xml diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/activity/NavigationActivity.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/activity/NavigationActivity.kt index 416d5e12..51c75e79 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/activity/NavigationActivity.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/activity/NavigationActivity.kt @@ -338,11 +338,18 @@ class NavigationActivity : AppCompatActivity() { selectServerButton = navigationView?.getHeaderView(0)?.findViewById(R.id.header_select_server) - selectServerButton?.setOnClickListener { + val dropDownButton: ImageView? = + navigationView?.getHeaderView(0)?.findViewById(R.id.edit_server_button) + + val onClick: (View) -> Unit = { if (drawerLayout?.isDrawerVisible(GravityCompat.START) == true) this.drawerLayout?.closeDrawer(GravityCompat.START) navController.navigate(R.id.serverSelectorFragment) } + + selectServerButton?.setOnClickListener(onClick) + dropDownButton?.setOnClickListener(onClick) + headerBackgroundImage = navigationView?.getHeaderView(0)?.findViewById(R.id.img_header_bg) } @@ -352,10 +359,10 @@ class NavigationActivity : AppCompatActivity() { } private val closeNavigationDrawerOnBack = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - drawerLayout?.closeDrawer(GravityCompat.START) - } + override fun handleOnBackPressed() { + drawerLayout?.closeDrawer(GravityCompat.START) } + } override fun onCreateOptionsMenu(menu: Menu): Boolean { val retValue = super.onCreateOptionsMenu(menu) diff --git a/ultrasonic/src/main/res/drawable/arrow_drop_down.xml b/ultrasonic/src/main/res/drawable/arrow_drop_down.xml new file mode 100644 index 00000000..0a9fd3a6 --- /dev/null +++ b/ultrasonic/src/main/res/drawable/arrow_drop_down.xml @@ -0,0 +1,5 @@ + + + diff --git a/ultrasonic/src/main/res/layout/navigation_activity.xml b/ultrasonic/src/main/res/layout/navigation_activity.xml index 867f1f6b..ef421eac 100644 --- a/ultrasonic/src/main/res/layout/navigation_activity.xml +++ b/ultrasonic/src/main/res/layout/navigation_activity.xml @@ -42,6 +42,7 @@ - + app:layout_constraintTop_toTopOf="parent" />