diff --git a/Habitica/res/layout/activity_fixcharacter.xml b/Habitica/res/layout/activity_fixcharacter.xml
index 359ce75ee..7dce1e80b 100644
--- a/Habitica/res/layout/activity_fixcharacter.xml
+++ b/Habitica/res/layout/activity_fixcharacter.xml
@@ -35,72 +35,266 @@
android:background="@color/gray_700"
android:layout_marginBottom="16dp"
/>
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+ android:layout_marginBottom="12dp" >
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/fixvalues_edittext.xml b/Habitica/res/layout/fixvalues_edittext.xml
index 9a96a3015..12b720da0 100644
--- a/Habitica/res/layout/fixvalues_edittext.xml
+++ b/Habitica/res/layout/fixvalues_edittext.xml
@@ -24,7 +24,7 @@
android:background="@drawable/layout_rounded_bg_gray_700"
android:paddingTop="8dp"
android:paddingStart="16dp">
- {
- binding.levelEditText.iconBackgroundColor = ContextCompat.getColor(this, R.color.red_500)
- binding.levelEditText.setIconBitmap(HabiticaIconsHelper.imageOfWarriorLightBg())
+ setIconBackground(levelIconBackgroundView, ContextCompat.getColor(this, R.color.red_500))
+ binding.levelIconView.setImageBitmap(HabiticaIconsHelper.imageOfWarriorLightBg())
}
Stats.MAGE -> {
- binding.levelEditText.iconBackgroundColor = ContextCompat.getColor(this, R.color.blue_500)
- binding.levelEditText.setIconBitmap(HabiticaIconsHelper.imageOfMageLightBg())
+ setIconBackground(levelIconBackgroundView, ContextCompat.getColor(this, R.color.blue_500))
+ binding.levelIconView.setImageBitmap(HabiticaIconsHelper.imageOfMageLightBg())
}
Stats.HEALER -> {
- binding.levelEditText.iconBackgroundColor = ContextCompat.getColor(this, R.color.yellow_500)
- binding.levelEditText.setIconBitmap(HabiticaIconsHelper.imageOfHealerLightBg())
+ setIconBackground(levelIconBackgroundView, ContextCompat.getColor(this, R.color.yellow_500))
+ binding.levelIconView.setImageBitmap(HabiticaIconsHelper.imageOfHealerLightBg())
}
Stats.ROGUE -> {
- binding.levelEditText.iconBackgroundColor = ContextCompat.getColor(this, R.color.brand_500)
- binding.levelEditText.setIconBitmap(HabiticaIconsHelper.imageOfRogueLightBg())
+ setIconBackground(levelIconBackgroundView, ContextCompat.getColor(this, R.color.brand_500))
+ binding.levelIconView.setImageBitmap(HabiticaIconsHelper.imageOfRogueLightBg())
}
}
}
- private fun FixValuesEditText.getDoubleValue(): Double {
- val stringValue = this.text
+ private fun setIconBackground(view: View, color: Int) {
+ val backgroundDrawable = ContextCompat.getDrawable(this, R.drawable.layout_rounded_bg)
+ backgroundDrawable?.setColorFilter(color, PorterDuff.Mode.MULTIPLY)
+ backgroundDrawable?.alpha = 50
+ view.background = backgroundDrawable
+ }
+
+ private fun EditText.getDoubleValue(): Double {
+ val stringValue = this.text.toString()
return try {
stringValue.toDouble()
} catch (_: NumberFormatException) {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt
index 44359a55c..abda534f4 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt
@@ -14,11 +14,12 @@ import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper
class FixValuesEditText(context: Context, attrs: AttributeSet) : FrameLayout(context, attrs) {
- private val binding: FixvaluesEdittextBinding = FixvaluesEdittextBinding.inflate(context.layoutInflater, this)
+ private var binding: FixvaluesEdittextBinding
var text: String
get() = binding.editText.text.toString()
set(value) {
binding.editText.setText(value)
+ binding.editText.hint = value
}
@ColorRes
@@ -37,6 +38,9 @@ class FixValuesEditText(context: Context, attrs: AttributeSet) : FrameLayout(con
R.styleable.FixValuesEditText,
0, 0)
+ val view = context.layoutInflater.inflate(R.layout.fixvalues_edittext, this, true)
+ binding = FixvaluesEdittextBinding.bind(view)
+
binding.editText.hint = attributes.getString(R.styleable.FixValuesEditText_title)
binding.editTextWrapper.hint = binding.editText.hint
binding.editTextWrapper.setHintTextAppearance(attributes.getResourceId(R.styleable.FixValuesEditText_hintStyle, R.style.PurpleTextLabel))