我有一个带有以下样式的Edittext
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_focused="true" />
<item android:color="@color/yellow" android:state_focused="false" />
<item android:color="@color/white" android:state_active="true" />
</selector>
在我应用的Edittext样式中
<item name="backgroundTint">@drawable/states_edit_text</item>
它的工作原理。这会更改正常和聚焦状态下的EditTexts底线颜色。当它处于错误状态时,我需要将色调颜色更改为红色。
就像是
<item android:state_error="true" android:color="@color/red"></item>
但是没有称为错误的状态,我提到了其他答案,他们建议通过代码实现它。有没有办法使用Android样式,我可以在错误状态下将EditText色调设置为红色?
我认为您可以通过编程方式进行更改:
if (!trueState){
ColorStateList colorStateList = ColorStateList.valueOf(color)
editText.setSupportBackgroundTintList(colorStateList)
}
这将为EditText提供所需的下划线颜色。