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