Fix drawer OnBackPressedCallback
This commit is contained in:
1 parent
d74023d4fa
commit
a34e766f70
1 file changed
+5
-18
@@ -603,25 +603,12 @@ class MainActivity : StageActivity(), NavigationView.OnNavigationItemSelectedLis
|
|||||||
|
|
||||||
private val mDrawerOnBackPressedCallback =
|
private val mDrawerOnBackPressedCallback =
|
||||||
object : OnBackPressedCallback(false), DrawerListener {
|
object : OnBackPressedCallback(false), DrawerListener {
|
||||||
override fun handleOnBackPressed() {
|
val slideThreshold = 0.05
|
||||||
mDrawerLayout?.closeDrawers()
|
override fun handleOnBackPressed() { mDrawerLayout?.closeDrawers() }
|
||||||
}
|
override fun onDrawerSlide(drawerView: View, slideOffset: Float) { isEnabled = slideOffset > slideThreshold }
|
||||||
|
override fun onDrawerOpened(drawerView: View) {}
|
||||||
override fun onDrawerSlide(drawerView: View, slideOffset: Float) {}
|
|
||||||
override fun onDrawerOpened(drawerView: View) {
|
|
||||||
isEnabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDrawerClosed(drawerView: View) {}
|
override fun onDrawerClosed(drawerView: View) {}
|
||||||
override fun onDrawerStateChanged(newState: Int) {
|
override fun onDrawerStateChanged(newState: Int) {}
|
||||||
when (newState) {
|
|
||||||
DrawerLayout.STATE_DRAGGING, DrawerLayout.STATE_SETTLING -> isEnabled = true
|
|
||||||
DrawerLayout.STATE_IDLE -> {
|
|
||||||
// Note that it's impossible to have two drawers open at the same time
|
|
||||||
if ((mDrawerLayout?.isDrawerVisible(GravityCompat.START) == true) == (mDrawerLayout?.isDrawerVisible(GravityCompat.END) == true)) isEnabled = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
Reference in new issue
Block a user