通过样式在EditText中设置错误状态

问题描述 投票:2回答:1

我有一个带有以下样式的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色调设置为红色?

android android-edittext
1个回答
0
投票

我认为您可以通过编程方式进行更改:

if (!trueState){

ColorStateList colorStateList = ColorStateList.valueOf(color)
editText.setSupportBackgroundTintList(colorStateList)

}  

这将为EditText提供所需的下划线颜色。

© www.soinside.com 2019 - 2024. All rights reserved.