我想要在程序中改变TextInputLayout的提示文字颜色。
当设置
android:textColorHint="@color/redColor"
在xml中,一切都很顺利,我得到这样的结果:
![](https://istack.dev59.com/JFI2S.webp)
![](https://istack.dev59.com/dtkUm.webp)
现在,TextInputLayout没有setHintTextColor方法,但TextInputEditText有,所以我尝试使用以下方式:
editext.setHintTextColor(getColor(R.color.redColor))
但是这种方法无法与TextInputLayout的子项editext一起使用,因此尽管TextInputLayout支持"android:textColorHint"属性,但它不支持"setHintTextColor"方法。我寻找了其他的方法,发现有人建议使用预定义的样式中的"setHintTextAppearance",于是我试了一下,但结果如下所示:
普通状态:
![](https://istack.dev59.com/vYule.webp)
![enter image description here](https://istack.dev59.com/xTfPb.webp)
<style name="AppRedText" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/redColor</item>
<item name="android:textColorHint">@color/redColor</item>
<item name="android:textSize">12sp</item>
</style>
我如何在程序中实现“android:textColorHint”属性的行为?