How to change the floating hint color of TextInputLayout if EditText inside is disabled(如果 EditText inside 被禁用,如何更改 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.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 inside 被禁用,如何更改 TextInputLayo
基础教程推荐
- - (CGRect)convertRect:(CGRect)rect toView:(UIView *)view 如何工作 2022-01-01
- 可可/目标C(OSX不是iOS)从子对象访问父对象 2022-01-01
- 我的 UIImageView 的任务 2022-01-01
- 在 iOS8 中无法获得正确的键盘高度值 2022-01-01
- 如何将多个组件添加到 PickerView? 2022-01-01
- Android:STATE_SELECTED不工作 2022-01-01
- 新的@SystemApi 注解是什么意思,和@hide 有什么区别 2022-01-01
- 在 Android 模拟器中激活网络位置提供程序? 2022-01-01
- 突出显示朗读文本(在 iPhone 的故事书类型应用程序中) 2022-01-01
- 在 appComponent dagger 2 中动态添加测试模块? 2022-01-01
