android– 以编程方式更改TextInputLayout强调色

android– 以编程方式更改TextInputLayout强调色,第1张

概述我有一个包含EditText视图的简单TextInputLayout.现在我想知道如何以编程方式更改强调颜色(下划线,突出显示时为hintTextColor).我似乎无法在TextInputLayout中找到合适的方法.有什么建议么?提前致谢.解决方法:IMHOInputTextLayout无法以编程方式更改标签颜色,因为它是由样式设

我有一个包含EditText视图的简单TextinputLayout.

现在我想知道如何以编程方式更改强调颜色(下划线,突出显示时为hintTextcolor).
我似乎无法在TextinputLayout中找到合适的方法.

有什么建议么?提前致谢.

解决方法:

IMHO inputTextLayout无法以编程方式更改标签颜色,因为它是由样式设置的.我检查了inputTextLayout的源代码并编写了这个Hack helper方法,它创建了对私有颜色成员的访问:

public static voID setinputTextLayoutcolor(EditText editText, @colorInt int color) {    TextinputLayout til = (TextinputLayout) editText.getParent();    try {        FIEld fDefaultTextcolor = TextinputLayout.class.getDeclaredFIEld("mDefaultTextcolor");        fDefaultTextcolor.setAccessible(true);        fDefaultTextcolor.set(til, new colorStateList(new int[][]{{0}}, new int[]{ color }));        FIEld fFocusedTextcolor = TextinputLayout.class.getDeclaredFIEld("mFocusedTextcolor");        fFocusedTextcolor.setAccessible(true);        fFocusedTextcolor.set(til, new colorStateList(new int[][]{{0}}, new int[]{ color }));    } catch (Exception e) {        e.printstacktrace();    }}

mFocusedTextcolor用于设置内部CollapsingTextHelper.mCollapsedTextcolor,用于设置标签的颜色.

总结

以上是内存溢出为你收集整理的android – 以编程方式更改TextInputLayout强调色全部内容,希望文章能够帮你解决android – 以编程方式更改TextInputLayout强调色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存