如何更改 Material Design TextInputLayout 提示文本颜色?
How to change the Material Design TextInputLayout Hint Text Color?
我正在尝试将 hintTextColor
AND Material 设计的 textInputLayout
的 boxStrokeColor
设置为 3 种不同的状态颜色,例如:
- red当它是
disabled
时(我不知道如何将boxStrokeColor
设置为disabled
状态,所以请不要请注意截图)
- blue 因为它是
enabled
但 unfocused
- 绿色 当它是
enabled
AND focused
我怎样才能做到这一点?
对于 hintTextColor
,我尝试了 Gabriele Mariotti in here 提出的建议,但问题是其中一种颜色应用于两种不同的状态([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_color_hint
选择器:
<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>
和 @color/text_input_layout_stroke_color
选择器:
<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>
专注:
不专心:
已禁用:
我正在尝试将 hintTextColor
AND Material 设计的 textInputLayout
的 boxStrokeColor
设置为 3 种不同的状态颜色,例如:
- red当它是
disabled
时(我不知道如何将boxStrokeColor
设置为disabled
状态,所以请不要请注意截图)
- blue 因为它是
enabled
但unfocused
- 绿色 当它是
enabled
ANDfocused
我怎样才能做到这一点?
对于 hintTextColor
,我尝试了 Gabriele Mariotti in here 提出的建议,但问题是其中一种颜色应用于两种不同的状态([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_color_hint
选择器:
<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>
和 @color/text_input_layout_stroke_color
选择器:
<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>
专注:
不专心:
已禁用: