Skip to content
Snippets Groups Projects
Commit 88569c0e authored by Nicolas Pomepuy's avatar Nicolas Pomepuy
Browse files

Make Toolbar snap and expand when changing fragment

Fixes #1310
parent 9515dec7
No related branches found
No related tags found
1 merge request!670Fixes for beta
......@@ -14,7 +14,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_height"
android:keyboardNavigationCluster="true"
app:layout_scrollFlags="scroll|enterAlways"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:navigationContentDescription="@string/abc_action_bar_up_description"
app:navigationIcon="?attr/homeAsUpIndicator"
app:popupTheme="?attr/toolbar_popup_style"
......
......@@ -27,6 +27,7 @@ import android.content.*
import android.os.Bundle
import android.os.IBinder
import android.view.MenuItem
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.edit
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
......@@ -34,6 +35,7 @@ import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.OnLifecycleEvent
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.bottomnavigation.BottomNavigationView
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.ObsoleteCoroutinesApi
......@@ -67,6 +69,7 @@ class Navigator : BottomNavigationView.OnNavigationItemSelectedListener, Lifecyc
private lateinit var settings: SharedPreferences
private var extensionsService: ExtensionManagerService? = null
override lateinit var navigationView: BottomNavigationView
override lateinit var appbarLayout: AppBarLayout
override lateinit var extensionsManager: ExtensionsManager
override var extensionServiceConnection: ServiceConnection? = null
......@@ -83,6 +86,7 @@ class Navigator : BottomNavigationView.OnNavigationItemSelectedListener, Lifecyc
}
lifecycle.addObserver(this@Navigator)
navigationView = findViewById(R.id.navigation)
appbarLayout = findViewById(R.id.appbar)
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
......@@ -174,6 +178,8 @@ class Navigator : BottomNavigationView.OnNavigationItemSelectedListener, Lifecyc
override fun onNavigationItemSelected(item: MenuItem): Boolean {
val id = item.itemId
val current = currentFragment
appbarLayout.setExpanded(true, true)
if (item.groupId == R.id.extensions_group) {
if (currentFragmentId == id) {
clearBackstackFromClass(ExtensionBrowser::class.java)
......@@ -300,6 +306,7 @@ class Navigator : BottomNavigationView.OnNavigationItemSelectedListener, Lifecyc
interface INavigator {
var navigationView: BottomNavigationView
var appbarLayout: AppBarLayout
var currentFragmentId : Int
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment