This commit is contained in:
kunfei
2023-04-03 10:17:05 +08:00
parent 181146e2ec
commit 53f5c50602
2 changed files with 7 additions and 8 deletions
@@ -23,10 +23,7 @@ import io.legado.app.ui.book.read.page.entities.column.*
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.book.read.page.provider.ImageProvider import io.legado.app.ui.book.read.page.provider.ImageProvider
import io.legado.app.ui.book.read.page.provider.TextPageFactory import io.legado.app.ui.book.read.page.provider.TextPageFactory
import io.legado.app.utils.activity import io.legado.app.utils.*
import io.legado.app.utils.getCompatColor
import io.legado.app.utils.getPrefBoolean
import io.legado.app.utils.toastOnUi
import kotlin.math.min import kotlin.math.min
/** /**
@@ -149,14 +146,15 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
val lineBottom = textLine.lineBottom + relativeOffset val lineBottom = textLine.lineBottom + relativeOffset
drawChars(canvas, textPage, textLine, lineTop, lineBase, lineBottom) drawChars(canvas, textPage, textLine, lineTop, lineBase, lineBottom)
if (ReadBookConfig.underline && ReadBook.book?.isImage != true) { if (ReadBookConfig.underline && ReadBook.book?.isImage != true) {
drawUnderline(canvas, textLine, lineBottom) drawUnderline(canvas, textLine, relativeOffset)
} }
} }
/** /**
* 绘制下划线 * 绘制下划线
*/ */
private fun drawUnderline(canvas: Canvas, textLine: TextLine, lineY: Float) { private fun drawUnderline(canvas: Canvas, textLine: TextLine, relativeOffset: Float) {
val lineY = relativeOffset + textLine.lineBottom - 1.dpToPx()
canvas.drawLine( canvas.drawLine(
textLine.lineStart, textLine.lineStart,
lineY, lineY,
@@ -675,12 +675,12 @@ object ChapterProvider {
} }
/** /**
* 更新View尺寸,height减去1dp防止下划线无法画全 * 更新View尺寸
*/ */
fun upViewSize(width: Int, height: Int) { fun upViewSize(width: Int, height: Int) {
if (width > 0 && height > 0 && (width != viewWidth || height != viewHeight)) { if (width > 0 && height > 0 && (width != viewWidth || height != viewHeight)) {
viewWidth = width viewWidth = width
viewHeight = height - 1.dpToPx() viewHeight = height
upLayout() upLayout()
postEvent(EventBus.UP_CONFIG, true) postEvent(EventBus.UP_CONFIG, true)
} }
@@ -713,6 +713,7 @@ object ChapterProvider {
} else { } else {
viewWidth - paddingLeft - paddingRight viewWidth - paddingLeft - paddingRight
} }
//留1dp画最后一行下划线
visibleHeight = viewHeight - paddingTop - paddingBottom visibleHeight = viewHeight - paddingTop - paddingBottom
visibleRight = viewWidth - paddingRight visibleRight = viewWidth - paddingRight
visibleBottom = paddingTop + visibleHeight visibleBottom = paddingTop + visibleHeight