From ea4cd36ffb0aa645d73d770afa879d4cb0cfa013 Mon Sep 17 00:00:00 2001
From: renhaoting <370797079@qq.com>
Date: Mon, 24 Nov 2025 16:49:57 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E6=9D=A1=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../benefit/widget/BenefitTaskItemView.kt | 5 ++++
.../architecture/widget/CustomProgressBar.kt | 29 +++++++++++++------
.../src/main/res/values/colors.xml | 2 ++
3 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt b/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt
index b882ffb..345db02 100644
--- a/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt
+++ b/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt
@@ -28,6 +28,11 @@ class BenefitTaskItemView @JvmOverloads constructor(
}
}
}
+
+ with(mBinding.progressBar) {
+ setMax(100)
+ setProgress(0)
+ }
}
fun setActionFun(action: ()->Unit) {
diff --git a/core/architecture/src/main/java/com/ama/core/architecture/widget/CustomProgressBar.kt b/core/architecture/src/main/java/com/ama/core/architecture/widget/CustomProgressBar.kt
index a78aa57..612bfff 100644
--- a/core/architecture/src/main/java/com/ama/core/architecture/widget/CustomProgressBar.kt
+++ b/core/architecture/src/main/java/com/ama/core/architecture/widget/CustomProgressBar.kt
@@ -2,18 +2,20 @@ package com.ama.core.architecture.widget
import android.content.Context
import android.graphics.Canvas
-import android.graphics.Color
import android.graphics.Paint
import android.util.AttributeSet
import android.view.View
+import androidx.core.graphics.withSave
+import com.ama.core.architecture.R
+import com.ama.core.architecture.util.ResUtil
class CustomProgressBar(context: Context, attrs: AttributeSet) : View(context, attrs) {
private var progress = 0
private var max = 100
- private val grayColor = Color.parseColor("#1affffff")
- private val greenColor = Color.parseColor("#ff00ff09")
+ private var mBgColor = ResUtil.getColor(R.color.gray_d3)
+ private var mForColor = ResUtil.getColor(R.color.green_09)
@@ -26,13 +28,16 @@ class CustomProgressBar(context: Context, attrs: AttributeSet) : View(context, a
val width = measuredWidth.toFloat()
val height = measuredHeight.toFloat()
- paint.color = grayColor
- canvas.drawRoundRect(0f, 0f, width, height, width/2, 0F, paint)
- val progressWidth = (width) * progress / max
- if (progressWidth > 0) {
- paint.color = greenColor
- canvas.drawRoundRect(0f, 0f, progressWidth, height, width/2, 0F, paint)
+
+ canvas.withSave {
+ paint.color = mBgColor
+ canvas.drawRoundRect(0f, 0f, width, height, height/2, height/2, paint)
+ val completeProgressWidth = (width) * progress / max
+ if (completeProgressWidth > 0) {
+ paint.color = mForColor
+ canvas.drawRoundRect(0f, 0f, completeProgressWidth, height, height/2, height/2, paint)
+ }
}
}
@@ -46,4 +51,10 @@ class CustomProgressBar(context: Context, attrs: AttributeSet) : View(context, a
this.max = max
invalidate()
}
+
+ fun setBarColor(bgColor: Int=R.color.gray_d3, forColor: Int=R.color.green_09) {
+ mBgColor = ResUtil.getColor(bgColor)
+ mForColor = ResUtil.getColor(forColor)
+ invalidate()
+ }
}
\ No newline at end of file
diff --git a/core/architecture/src/main/res/values/colors.xml b/core/architecture/src/main/res/values/colors.xml
index d56c2cf..3a86657 100644
--- a/core/architecture/src/main/res/values/colors.xml
+++ b/core/architecture/src/main/res/values/colors.xml
@@ -53,6 +53,8 @@
#FFFFFF
#333333
#999999
+ #FFE2D9D3
+ #ff00ff09
\ No newline at end of file