fix: 下划虚线问题

This commit is contained in:
HapeLee
2026-06-14 00:21:15 +08:00
parent 7e66f7589d
commit 9432ea29fd
@@ -232,9 +232,12 @@ data class TextLine(
* 绘制下划线 * 绘制下划线
*/ */
private fun drawUnderline(canvas: Canvas, dottedLine: Boolean) { private fun drawUnderline(canvas: Canvas, dottedLine: Boolean) {
val paint = ChapterProvider.contentPaint val paint = PaintPool.obtain()
paint.set(ChapterProvider.contentPaint)
paint.clearShadowLayer()
paint.color = ReadBookConfig.durConfig.curUnderlineColor() paint.color = ReadBookConfig.durConfig.curUnderlineColor()
paint.strokeWidth = ReadBookConfig.underlineHeight.toFloat() paint.strokeWidth = ReadBookConfig.underlineHeight.toFloat()
paint.style = Paint.Style.STROKE
paint.pathEffect = if (dottedLine && !ReadConfig.isEInkMode) paint.pathEffect = if (dottedLine && !ReadConfig.isEInkMode)
ChapterProvider.dashEffect ChapterProvider.dashEffect
else else
@@ -252,6 +255,7 @@ data class TextLine(
lineEnd lineEnd
} }
canvas.drawLine(startX, lineY, endX, lineY, paint) canvas.drawLine(startX, lineY, endX, lineY, paint)
PaintPool.recycle(paint)
} }
/** /**
@@ -412,6 +416,7 @@ data class TextLine(
) { ) {
val paint = PaintPool.obtain() val paint = PaintPool.obtain()
paint.set(ChapterProvider.contentPaint) paint.set(ChapterProvider.contentPaint)
paint.clearShadowLayer()
paint.color = underlineColor paint.color = underlineColor
paint.strokeWidth = underlineWidth.dpToPx() paint.strokeWidth = underlineWidth.dpToPx()
paint.style = Paint.Style.STROKE paint.style = Paint.Style.STROKE