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