Fix margins for pinned navbar

master
Koitharu 2 years ago
parent daa545f3db
commit 8fad307c9a
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -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 {

@ -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<ActivityMainBinding>(), 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<ActivityMainBinding>(), AppBarOwner, BottomNav
view.layoutParams = lp
}
}
viewBinding.container.updateLayoutParams<MarginLayoutParams> {
bottomMargin = if (isPinned) {
bottomNavBar?.measureHeight() ?: 0
} else {
0
}
}
}
private inner class CloseSearchCallback : OnBackPressedCallback(false) {

Loading…
Cancel
Save