From 8fad307c9a255e622b021b1b87f0f425e7a22da9 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Wed, 24 Apr 2024 10:47:58 +0300 Subject: [PATCH] Fix margins for pinned navbar --- app/build.gradle | 4 ++-- .../org/koitharu/kotatsu/main/ui/MainActivity.kt | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6cf2323f1..bb5d9372a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId 'org.koitharu.kotatsu' minSdk = 21 targetSdk = 34 - versionCode = 634 - versionName = '7.0-a1' + versionCode = 635 + versionName = '7.0-b1' generatedDensities = [] testInstrumentationRunner 'org.koitharu.kotatsu.HiltTestRunner' ksp { 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 7bffce988..90f4cc37c 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 @@ -7,6 +7,7 @@ import android.os.Bundle import android.view.Menu import android.view.MenuItem import android.view.View +import android.view.ViewGroup.MarginLayoutParams import androidx.activity.OnBackPressedCallback import androidx.activity.viewModels import androidx.appcompat.view.ActionMode @@ -44,6 +45,7 @@ import org.koitharu.kotatsu.core.ui.util.MenuInvalidator import org.koitharu.kotatsu.core.ui.util.OptionsMenuBadgeHelper import org.koitharu.kotatsu.core.ui.widgets.SlidingBottomNavigationView import org.koitharu.kotatsu.core.util.ext.hideKeyboard +import org.koitharu.kotatsu.core.util.ext.measureHeight import org.koitharu.kotatsu.core.util.ext.observe import org.koitharu.kotatsu.core.util.ext.observeEvent import org.koitharu.kotatsu.core.util.ext.scaleUpActivityOptionsOf @@ -402,7 +404,8 @@ class MainActivity : BaseActivity(), AppBarOwner, BottomNav } private fun setNavbarPinned(isPinned: Boolean) { - viewBinding.bottomNav?.isPinned = isPinned + val bottomNavBar = viewBinding.bottomNav + bottomNavBar?.isPinned = isPinned for (view in viewBinding.appbar.children) { val lp = view.layoutParams as? AppBarLayout.LayoutParams ?: continue val scrollFlags = if (isPinned) { @@ -415,6 +418,13 @@ class MainActivity : BaseActivity(), AppBarOwner, BottomNav view.layoutParams = lp } } + viewBinding.container.updateLayoutParams { + bottomMargin = if (isPinned) { + bottomNavBar?.measureHeight() ?: 0 + } else { + 0 + } + } } private inner class CloseSearchCallback : OnBackPressedCallback(false) {