依旧尝试修复测量问题

This commit is contained in:
HapeLee
2025-09-25 23:25:18 +08:00
parent 3fc4cd274f
commit c57525e004
5 changed files with 43 additions and 72 deletions
@@ -310,7 +310,13 @@ class ReadBookActivity : BaseReadBookActivity(),
if (getPrefBoolean("disableReturnKey") && !menuLayoutIsVisible) {
return@addCallback
}
supportFinishAfterTransition()
if (savedInstanceState != null) {
finish()
} else {
supportFinishAfterTransition()
}
//TODO: 有关测量相关问题
//孩子们,我的水平不够,只能这样修复测量问题了
}
}
@@ -441,7 +447,6 @@ class ReadBookActivity : BaseReadBookActivity(),
viewModel.initReadBookConfig(intent)
viewModel.initData(intent)
withContext(Main) {
binding.readView.initAfterTransition()
justInitData = true
}
}
@@ -91,6 +91,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
if (!isMainView) return
ChapterProvider.upViewSize(w, h)
textPage.format()
//TODO: 有关测量相关问题
}
override fun onDraw(canvas: Canvas) {
@@ -119,19 +119,13 @@ class ReadView(context: Context, attrs: AttributeSet) :
nextPage.invisible()
curPage.markAsMainView()
if (!isInEditMode) {
//upBg()
upBg()
setWillNotDraw(false)
//upPageAnim()
//upPageSlopSquare()
upPageAnim()
upPageSlopSquare()
}
}
fun initAfterTransition() {
upBg()
upPageAnim()
upPageSlopSquare()
}
private fun setRect9x() {
tlRect.set(0f, 0f, width * 0.33f, height * 0.33f)
tcRect.set(width * 0.33f, 0f, width * 0.66f, height * 0.33f)
@@ -33,7 +33,6 @@ import io.legato.kazusa.utils.postEvent
import io.legato.kazusa.utils.spToPx
import io.legato.kazusa.utils.splitNotBlank
import io.legato.kazusa.utils.textHeight
import io.legato.kazusa.utils.toastOnUi
import kotlinx.coroutines.CoroutineScope
import splitties.init.appCtx
import java.io.File
@@ -1020,13 +1019,6 @@ object ChapterProvider {
return
}
visibleRect.set(
paddingLeft.toFloat(),
paddingTop.toFloat(),
visibleRight.toFloat(),
visibleBottom.toFloat()
)
paddingLeft = ReadBookConfig.paddingLeft.dpToPx()
paddingTop = ReadBookConfig.paddingTop.dpToPx()
paddingRight = ReadBookConfig.paddingRight.dpToPx()
@@ -1041,23 +1033,13 @@ object ChapterProvider {
visibleRight = viewWidth - paddingRight
visibleBottom = paddingTop + visibleHeight
if (paddingLeft >= visibleRight || paddingTop >= visibleBottom) {
appCtx.toastOnUi("边距设置过大,请重新设置")
visibleRect.set(
0f,
0f,
viewWidth.toFloat(),
viewHeight.toFloat()
)
} else {
visibleRect.set(
paddingLeft.toFloat(),
paddingTop.toFloat(),
visibleRight.toFloat(),
visibleBottom.toFloat()
)
}
visibleRect.set(
paddingLeft.toFloat(),
paddingTop.toFloat(),
visibleRight.toFloat(),
visibleBottom.toFloat()
)
//TODO: 有关测量相关问题
}
}