From 9b49200a859bebd66a811e99219ae14573d5b8fe Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Tue, 23 Jan 2024 17:30:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../legado/app/ui/widget/text/MultilineTextView.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/widget/text/MultilineTextView.kt b/app/src/main/java/io/legado/app/ui/widget/text/MultilineTextView.kt index f38aeef37..622279292 100644 --- a/app/src/main/java/io/legado/app/ui/widget/text/MultilineTextView.kt +++ b/app/src/main/java/io/legado/app/ui/widget/text/MultilineTextView.kt @@ -1,22 +1,21 @@ package io.legado.app.ui.widget.text import android.content.Context -import android.graphics.Canvas import android.util.AttributeSet import androidx.appcompat.widget.AppCompatTextView class MultilineTextView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) { - override fun onDraw(canvas: Canvas) { - calculateLines() - super.onDraw(canvas) + override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { + val heightSize = MeasureSpec.getSize(heightMeasureSpec) + calculateLines(heightSize) + super.onMeasure(widthMeasureSpec, heightMeasureSpec) } - private fun calculateLines() { - val mHeight = measuredHeight + private fun calculateLines(measuredHeight: Int) { val lHeight = lineHeight - val lines = mHeight / lHeight + val lines = measuredHeight / lHeight setLines(lines) } } \ No newline at end of file