Skip to content

Commit 9643cfe

Browse files
committed
Add extensions for textview
1 parent bb2a0c8 commit 9643cfe

File tree

1 file changed

+29
-1
lines changed
  • omegatypes/src/main/java/com/omega_r/libs/omegatypes

1 file changed

+29
-1
lines changed

omegatypes/src/main/java/com/omega_r/libs/omegatypes/Color.kt

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.content.res.Resources
66
import android.os.Build
77
import android.util.SparseIntArray
88
import android.util.TypedValue
9+
import android.widget.TextView
910
import java.io.Serializable
1011
import java.util.*
1112

@@ -74,6 +75,9 @@ abstract class Color : Serializable {
7475
@JvmStatic
7576
fun fromString(colorString: String): Color = IntColor(GraphicColor.parseColor(colorString))
7677

78+
@JvmStatic
79+
fun fromColorList(colorStateList: ColorStateList): Color = ColorStateListColor(colorStateList)
80+
7781
}
7882

7983
class IntColor(private val colorInt: Int) : Color() {
@@ -137,4 +141,28 @@ abstract class Color : Serializable {
137141

138142
}
139143

140-
}
144+
class ColorStateListColor(private val colorStateList: ColorStateList) : Color() {
145+
146+
override fun getColorInt(context: Context): Int {
147+
return colorStateList.defaultColor
148+
}
149+
150+
override fun getColorStateList(context: Context): ColorStateList {
151+
return colorStateList
152+
}
153+
154+
}
155+
156+
}
157+
158+
var TextView.textColor: Color
159+
get() = Color.fromColorList(textColors)
160+
set(value) {
161+
setTextColor(value.getColorStateList(context))
162+
}
163+
164+
var TextView.hintTextColor: Color
165+
get() = Color.fromColorList(hintTextColors)
166+
set(value) {
167+
setHintTextColor(value.getColorStateList(context))
168+
}

0 commit comments

Comments
 (0)