fix: 拖动条刻度显示异常

This commit is contained in:
HuanCheng65 2022-06-16 15:19:47 +08:00
parent e79ead4594
commit 06ea76c53f
No known key found for this signature in database
GPG Key ID: E9031EF91A805148
1 changed files with 5 additions and 9 deletions

View File

@ -6,7 +6,6 @@ import android.graphics.Canvas
import android.graphics.Color import android.graphics.Color
import android.graphics.Paint import android.graphics.Paint
import android.util.AttributeSet import android.util.AttributeSet
import android.widget.AbsSeekBar
import androidx.appcompat.widget.AppCompatSeekBar import androidx.appcompat.widget.AppCompatSeekBar
import com.huanchengfly.tieba.post.R import com.huanchengfly.tieba.post.R
import com.huanchengfly.tieba.post.dpToPxFloat import com.huanchengfly.tieba.post.dpToPxFloat
@ -140,14 +139,11 @@ class RulerSeekBar : AppCompatSeekBar {
canvas.drawCircle(rulerCenterX, rulerCenterY, mRulerSize / 2, mRulerPaint) canvas.drawCircle(rulerCenterX, rulerCenterY, mRulerSize / 2, mRulerPaint)
} }
if (!isShowTopOfThumb) { if (!isShowTopOfThumb) {
try { if (thumb != null) {
val absSeekBarClazz = Class.forName("android.widget.AbsSeekBar") val saveCount = canvas.save()
val absSeekBarDrawThumbMethod = canvas.translate(paddingLeft.toFloat() - thumbOffset, paddingTop.toFloat())
absSeekBarClazz.getDeclaredMethod("drawThumb", Canvas::class.java) thumb.draw(canvas)
absSeekBarDrawThumbMethod.isAccessible = true canvas.restoreToCount(saveCount)
absSeekBarDrawThumbMethod.invoke(this as AbsSeekBar, canvas)
} catch (e: Exception) {
e.printStackTrace()
} }
} }
} }