Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何更改材质设计文本InputLayout提示文本颜色?_Android_Material Design_Material Components Android_Android Textinputlayout_Textinputlayout - Fatal编程技术网

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>

重点:

未聚焦:

残疾人士:


谢谢。这实际上只是我一个愚蠢的错误。现在我将永远记住禁用
文本输入布局
,而不是
文本输入文本
:)