Fix main navigation bar behavior
This commit is contained in:
@@ -11,6 +11,7 @@ import android.view.ViewPropertyAnimator
|
||||
import androidx.annotation.AttrRes
|
||||
import androidx.annotation.StyleRes
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.customview.view.AbsSavedState
|
||||
import androidx.interpolator.view.animation.FastOutLinearInInterpolator
|
||||
import androidx.interpolator.view.animation.LinearOutSlowInInterpolator
|
||||
@@ -47,6 +48,9 @@ class SlidingBottomNavigationView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
val isShownOrShowing: Boolean
|
||||
get() = isVisible && currentState == STATE_UP
|
||||
|
||||
override fun getBehavior(): CoordinatorLayout.Behavior<*> {
|
||||
return behavior
|
||||
}
|
||||
|
||||
@@ -281,6 +281,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), AppBarOwner, BottomNav
|
||||
adjustFabVisibility()
|
||||
bottomNav?.hide()
|
||||
viewBinding.toolbarCard.isInvisible = true
|
||||
updateContainerBottomMargin()
|
||||
}
|
||||
|
||||
override fun onSupportActionModeFinished(mode: ActionMode) {
|
||||
@@ -288,6 +289,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), AppBarOwner, BottomNav
|
||||
adjustFabVisibility()
|
||||
bottomNav?.show()
|
||||
viewBinding.toolbarCard.isInvisible = false
|
||||
updateContainerBottomMargin()
|
||||
}
|
||||
|
||||
private fun onOpenReader(manga: Manga) {
|
||||
@@ -403,6 +405,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), AppBarOwner, BottomNav
|
||||
)
|
||||
bottomNav?.showOrHide(!isOpened)
|
||||
closeSearchCallback.isEnabled = isOpened
|
||||
updateContainerBottomMargin()
|
||||
}
|
||||
|
||||
private fun requestNotificationsPermission() {
|
||||
@@ -439,7 +442,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), AppBarOwner, BottomNav
|
||||
|
||||
private fun updateContainerBottomMargin() {
|
||||
val bottomNavBar = viewBinding.bottomNav ?: return
|
||||
val newMargin = if (bottomNavBar.isPinned) bottomNavBar.height else 0
|
||||
val newMargin = if (bottomNavBar.isPinned && bottomNavBar.isShownOrShowing) bottomNavBar.height else 0
|
||||
with(viewBinding.container) {
|
||||
val params = layoutParams as MarginLayoutParams
|
||||
if (params.bottomMargin != newMargin) {
|
||||
|
||||
Reference in New Issue
Block a user