我有一个包含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强调色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)