本文介绍了如果禁用了内部的EditText,如何更改TextInputLayout的浮动提示颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在将EditText
与TextInputLayout
一起使用.如果禁用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.styles.CustomHintDisabled);
//for enablededitText
mEditText.setEnabled(true);
mTextInoutLayout.setHintTextAppearance(R.styles.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,如何更改TextInputLayout的浮动提示颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!