Android 如何更改材质设计文本InputLayout提示文本颜色?
我正在尝试将材质设计的Android 如何更改材质设计文本InputLayout提示文本颜色?,android,material-design,material-components-android,android-textinputlayout,textinputlayout,Android,Material Design,Material Components Android,Android Textinputlayout,Textinputlayout,我正在尝试将材质设计的文本输入布局的hintTextColor和boxStrokeColor设置为3种不同的颜色状态,例如: 红色用于禁用时(我不知道如何将boxStrokeColor设置为禁用状态,因此请不要介意屏幕截图) 蓝色用于启用但未聚焦的情况 绿色用于启用和聚焦时 我怎样才能做到这一点 对于hintTextColor,我尝试了in提出的建议,但问题是其中一种颜色应用于两种不同的状态([disabled]和[enabled但unfocused]),我想区分这两种颜色。您
文本输入布局的hintTextColor
和boxStrokeColor
设置为3种不同的颜色状态,例如:
- 红色用于禁用<代码>时
(我不知道如何将boxStrokeColor
设置为禁用
状态,因此请不要介意屏幕截图)
- 蓝色用于启用
但未聚焦的情况
- 绿色用于启用
和聚焦时
我怎样才能做到这一点
对于hintTextColor
,我尝试了in提出的建议,但问题是其中一种颜色应用于两种不同的状态([disabled
]和[enabled
但unfocused
]),我想区分这两种颜色。您可以使用自定义样式:
<style name="CustomOutlineBox" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="boxStrokeColor">@color/text_input_layout_stroke_color</item>
<item name="android:textColorHint">@color/text_color_hint</item>
<item name="hintTextColor">@color/green</item>
</style>
以及@color/text\u input\u layout\u stroke\u color
选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="..." android:color="@color/red" android:state_enabled="false"/>
<item android:alpha="..." android:color="@color/blue"/>
</selector>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="..." android:color="@color/green" android:state_focused="true"/>
<item android:alpha="..." android:color="@color/green" android:state_hovered="true"/>
<item android:alpha="..." android:color="@color/red" android:state_enabled="false"/>
<item android:alpha="..." android:color="@color/blue"/> <!-- unfocused -->
</selector>
重点:
未聚焦:
残疾人士:
谢谢。这实际上只是我一个愚蠢的错误。现在我将永远记住禁用文本输入布局
,而不是文本输入文本
:)