fix:阅读界面切换深浅色后,排版问题 (#1576)
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user