我有一个TextInputEditText,当某些条件发生时,我想更改底线的颜色。 因此,我必须以编程方式进行操作。
我试图这样做:
backgroundTintList = getColorList()
乐趣getColorList():ColorStateList {
var hintdefault = - android.R.attr.state_activated
var hintfocused = android.R.attr.state_activated
val状态= arrayOf(intArrayOf(hintdefault), intArrayOf(hintfocused))
var color1 = Color.YELLOW
var color2 = Color.BLACK
val colors = intArrayOf(color1, color2)
var colorList = ColorStateList(state , colors)
return colorList
}
但是,未突出显示时,我只能看到“未激活”的颜色。 仍从accentColor中选择激活的颜色。 我尝试通过以前的解决方案之一来执行此操作: editText.getBackground()。setColorFilter(getResources()。getColor(R.color.blue),PorterDuff.Mode.SRC_ATOP); 但这给了我getBackground()的空指针异常。
谢谢。