From f4bb4a37bc4e0a96f00e4d63bbfb63ecd55dd7f5 Mon Sep 17 00:00:00 2001 From: fansan Date: Mon, 29 Jun 2026 02:26:30 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E9=98=85=E8=AF=BB=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=88=87=E6=8D=A2=E6=B7=B1=E6=B5=85=E8=89=B2=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E6=8E=92=E7=89=88=E9=97=AE=E9=A2=98=20(#1576)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../legado/app/help/config/ReadBookConfig.kt | 2 ++ .../legado/app/ui/book/read/page/PageView.kt | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt b/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt index 69c42f4bb..2ad896be6 100644 --- a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt @@ -36,6 +36,8 @@ import kotlin.reflect.KProperty @Suppress("ConstPropertyName") @Keep object ReadBookConfig { + var lastNavigationBarHeight: Int = 0 + private val readStyleRepository: ReadStyleRepository get() = GlobalContext.get().get() diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt index dae71c3c6..c52c655e3 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt @@ -26,13 +26,14 @@ import io.legado.app.ui.book.read.page.entities.TextPos import io.legado.app.ui.book.read.page.provider.ChapterProvider import io.legado.app.ui.config.readConfig.ReadConfig import io.legado.app.ui.widget.BatteryView +import androidx.core.view.updateLayoutParams import io.legado.app.utils.activity -import io.legado.app.utils.applyNavigationBarPadding import io.legado.app.utils.applyStatusBarPadding import io.legado.app.utils.canvasrecorder.CanvasRecorder import io.legado.app.utils.dpToPx import io.legado.app.utils.gone import io.legado.app.utils.isContentScheme +import io.legado.app.utils.navigationBarHeight import io.legado.app.utils.setOnApplyWindowInsetsListenerCompat import io.legado.app.utils.statusBarHeight import splitties.views.backgroundColor @@ -87,7 +88,21 @@ class PageView( callBack?.let { binding.contentTextView.setCallBack(it) } upStyle() binding.vwStatusBar.applyStatusBarPadding() - binding.vwNavigationBar.applyNavigationBarPadding() + if (ReadBookConfig.lastNavigationBarHeight > 0) { + binding.vwNavigationBar.updateLayoutParams { + height = ReadBookConfig.lastNavigationBarHeight + } + } + binding.vwNavigationBar.setOnApplyWindowInsetsListenerCompat { v, windowInsets -> + val navHeight = windowInsets.navigationBarHeight + if (navHeight > 0) { + ReadBookConfig.lastNavigationBarHeight = navHeight + } + v.updateLayoutParams { + height = navHeight + } + windowInsets + } } override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {