如果 EditText inside 被禁用,如何更改 TextInputLayout 的浮动提示颜色

时间:2023-02-25
本文介绍了如果 EditText inside 被禁用,如何更改 TextInputLayout 的浮动提示颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我将 EditTextTextInputLayout 一起使用.如果 EditText 被禁用,我只想更改 TextInputLayout 的浮动提示颜色.我尝试使用选择器它不起作用.

I am using EditText with TextInputLayout. I just want to change the floating hint color of TextInputLayout if the EditText is disabled. I tried with selector it is not working.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:textColor="@color/darkGray" />
    <item android:state_pressed="false" android:state_focused="false" android:textColor="@color/lightGray"/>
</selector>

推荐答案

TextInputLayout 类中有一个名为 setHintTextAppearance(int styleId) 的方法.您可以使用此方法根据启用/禁用状态设置不同的颜色以提示文本.

There's one method called setHintTextAppearance(int styleId) in TextInputLayout class. You can use this method to set difference colors to hint text on basis of enabled/disabled state.

例子:

//for disabled editText
mEditText.setEnabled(false);
mTextInoutLayout.setHintTextAppearance(R.style.CustomHintDisabled);

//for enablededitText
mEditText.setEnabled(true);
mTextInoutLayout.setHintTextAppearance(R.style.CustomHintEnabled);

在你的 styles.xml

<style name="CustomHintDisabled" parent="YourBaseTheme.TextAppearance">
    <item name="textColor">@color/gray</item>
</style>

<style name="CustomHintEnabled" parent="YourBaseTheme.TextAppearance">
    <item name="textColor">@color/black</item>
</style>

这篇关于如果 EditText inside 被禁用,如何更改 TextInputLayout 的浮动提示颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:具有自定义主题的 EditText 在选择句柄下显示下划线 下一篇:如何设置 Edittext 视图只允许两个数值和两个十进制值,如 ##.##

相关文章

最新文章