From ed9695174a29f77fe69d812b8eb51cf94841d15f Mon Sep 17 00:00:00 2001 From: SeniorZhai Date: Sat, 25 Jan 2025 13:47:46 +0800 Subject: [PATCH] Clear paint shader (#5299) --- .../android/widget/ConfirmationBgView.kt | 41 ++++--------------- 1 file changed, 8 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/one/mixin/android/widget/ConfirmationBgView.kt b/app/src/main/java/one/mixin/android/widget/ConfirmationBgView.kt index 874da41bd9..8f71b3a623 100644 --- a/app/src/main/java/one/mixin/android/widget/ConfirmationBgView.kt +++ b/app/src/main/java/one/mixin/android/widget/ConfirmationBgView.kt @@ -2,23 +2,17 @@ package one.mixin.android.widget import android.content.Context import android.graphics.Canvas -import android.graphics.Outline +import android.graphics.Color +import android.graphics.LinearGradient import android.graphics.Paint +import android.graphics.Shader import android.util.AttributeSet -import android.view.View -import android.view.ViewOutlineProvider import android.widget.RelativeLayout import one.mixin.android.R import one.mixin.android.extension.colorFromAttribute -import one.mixin.android.extension.dpToPx -import android.graphics.Color -import android.graphics.LinearGradient -import android.graphics.Shader import one.mixin.android.extension.dp -import kotlin.math.max import kotlin.math.min - class ConfirmationBgView : RelativeLayout { private val colorWhite by lazy { context.colorFromAttribute(R.attr.bg_white) } @@ -35,12 +29,16 @@ class ConfirmationBgView : RelativeLayout { setWillNotDraw(false) } + init { + paint.color = colorWhite + } + override fun onDraw(canvas: Canvas) { super.onDraw(canvas) val w = width.toFloat() val h = height.toFloat() if (all == 0 || cur == 0) { - paint.color = colorWhite + paint.shader = null // clear shader canvas.drawRect(0f, 0f, w, h, paint) } else { val gradient = LinearGradient( @@ -62,27 +60,4 @@ class ConfirmationBgView : RelativeLayout { this.all = all this.cur = cur } - - fun roundBottom(round: Boolean) { - if (round) { - outlineProvider = - object : ViewOutlineProvider() { - override fun getOutline( - view: View, - outline: Outline, - ) { - outline.setRoundRect( - 0, - 0, - view.width, - view.height, - context.dpToPx(8f).toFloat(), - ) - } - } - clipToOutline = true - } else { - clipToOutline = false - } - } }