diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/SlidingBottomNavigationView.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/SlidingBottomNavigationView.kt index bf4e260d7..0fc9f816d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/SlidingBottomNavigationView.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/SlidingBottomNavigationView.kt @@ -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 } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainActivity.kt index 3569959f0..c4a8b772d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainActivity.kt @@ -281,6 +281,7 @@ class MainActivity : BaseActivity(), AppBarOwner, BottomNav adjustFabVisibility() bottomNav?.hide() viewBinding.toolbarCard.isInvisible = true + updateContainerBottomMargin() } override fun onSupportActionModeFinished(mode: ActionMode) { @@ -288,6 +289,7 @@ class MainActivity : BaseActivity(), AppBarOwner, BottomNav adjustFabVisibility() bottomNav?.show() viewBinding.toolbarCard.isInvisible = false + updateContainerBottomMargin() } private fun onOpenReader(manga: Manga) { @@ -403,6 +405,7 @@ class MainActivity : BaseActivity(), AppBarOwner, BottomNav ) bottomNav?.showOrHide(!isOpened) closeSearchCallback.isEnabled = isOpened + updateContainerBottomMargin() } private fun requestNotificationsPermission() { @@ -439,7 +442,7 @@ class MainActivity : BaseActivity(), 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) {