fix:阅读界面切换深浅色后,排版问题 (#1576)

This commit is contained in:
fansan
2026-06-29 02:26:30 +08:00
committed by GitHub
parent 4f25e6d73b
commit f4bb4a37bc
2 changed files with 19 additions and 2 deletions
@@ -36,6 +36,8 @@ import kotlin.reflect.KProperty
@Suppress("ConstPropertyName") @Suppress("ConstPropertyName")
@Keep @Keep
object ReadBookConfig { object ReadBookConfig {
var lastNavigationBarHeight: Int = 0
private val readStyleRepository: ReadStyleRepository private val readStyleRepository: ReadStyleRepository
get() = GlobalContext.get().get() get() = GlobalContext.get().get()
@@ -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.book.read.page.provider.ChapterProvider
import io.legado.app.ui.config.readConfig.ReadConfig import io.legado.app.ui.config.readConfig.ReadConfig
import io.legado.app.ui.widget.BatteryView import io.legado.app.ui.widget.BatteryView
import androidx.core.view.updateLayoutParams
import io.legado.app.utils.activity import io.legado.app.utils.activity
import io.legado.app.utils.applyNavigationBarPadding
import io.legado.app.utils.applyStatusBarPadding import io.legado.app.utils.applyStatusBarPadding
import io.legado.app.utils.canvasrecorder.CanvasRecorder import io.legado.app.utils.canvasrecorder.CanvasRecorder
import io.legado.app.utils.dpToPx import io.legado.app.utils.dpToPx
import io.legado.app.utils.gone import io.legado.app.utils.gone
import io.legado.app.utils.isContentScheme import io.legado.app.utils.isContentScheme
import io.legado.app.utils.navigationBarHeight
import io.legado.app.utils.setOnApplyWindowInsetsListenerCompat import io.legado.app.utils.setOnApplyWindowInsetsListenerCompat
import io.legado.app.utils.statusBarHeight import io.legado.app.utils.statusBarHeight
import splitties.views.backgroundColor import splitties.views.backgroundColor
@@ -87,7 +88,21 @@ class PageView(
callBack?.let { binding.contentTextView.setCallBack(it) } callBack?.let { binding.contentTextView.setCallBack(it) }
upStyle() upStyle()
binding.vwStatusBar.applyStatusBarPadding() 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) { override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {