如何给TextInputLayout的boxBackground设置不同的颜色?
How to set different colors of TextInputLayout's boxBackground?
我有一个使用 TextInputLayout
的简单输入字段。我可以用
设置框背景颜色
setBoxBackgroundColorResource(R.color.mycolor)
但现在我想根据状态使用不同的颜色。 mycolor_activated
表示激活状态,mycolor_default
表示默认状态。创建颜色状态列表并将其设置为资源不起作用,它会忽略激活状态:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:color="#FFF" />
<item android:color="#000" />
</selector>
setBoxBackgroundColorResource(R.color.myselector)
有办法吗?例如,我没有为笔画设置颜色状态列表的问题。请注意,我还需要以编程方式设置 TextInputLayout
的属性。
您可以使用方法 setBoxBackgroundColorStateList
.
textInputLayout.setBoxBackgroundColorStateList(
ContextCompat.getColorStateList(this,R.color.my_selector));
注意:此方法至少需要1.2.0-beta01
版本
这是默认选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="..." android:color="...." android:state_hovered="true"/>
<item android:alpha="..." android:color="..." android:state_focused="true"/>
<item android:alpha="..." android:color="..." android:state_enabled="false"/>
<item android:alpha="..." android:color="..."/>
</selector>
我有一个使用 TextInputLayout
的简单输入字段。我可以用
setBoxBackgroundColorResource(R.color.mycolor)
但现在我想根据状态使用不同的颜色。 mycolor_activated
表示激活状态,mycolor_default
表示默认状态。创建颜色状态列表并将其设置为资源不起作用,它会忽略激活状态:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:color="#FFF" />
<item android:color="#000" />
</selector>
setBoxBackgroundColorResource(R.color.myselector)
有办法吗?例如,我没有为笔画设置颜色状态列表的问题。请注意,我还需要以编程方式设置 TextInputLayout
的属性。
您可以使用方法 setBoxBackgroundColorStateList
.
textInputLayout.setBoxBackgroundColorStateList(
ContextCompat.getColorStateList(this,R.color.my_selector));
注意:此方法至少需要1.2.0-beta01
这是默认选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="..." android:color="...." android:state_hovered="true"/>
<item android:alpha="..." android:color="..." android:state_focused="true"/>
<item android:alpha="..." android:color="..." android:state_enabled="false"/>
<item android:alpha="..." android:color="..."/>
</selector>