我的目标是以编程方式更改重点标签TextInputEditText中的提示标签和下划线颜色。一段时间后,我终于在测试环境中都工作了,但是当在我的真实应用程序中实现时,下划线突然停止工作。我将其范围缩小到ScrollView。
我尝试弄乱ScrollView,TextInputEditField和TextInputLayout中的焦点,但没有一个起作用。
只需使用BackgroundTintList更改颜色,即可:
int[][] states = new int[][] {
new int[] {android.R.attr.state_focused},
new int[] {android.R.attr.state_enabled},
};
int[] colors = new int[] {
Color.CYAN,
Color.BLUE,
};
ColorStateList myList = new ColorStateList(states, colors);
ViewCompat.setBackgroundTintList(edit, myList);
用于复制的测试应用程序: https://github.com/guiquintelas/textinputedittext-underline-color
一些图片:
答案 0 :(得分:0)
使用此代码更改编辑文本的颜色 尝试
使用backgroundTint更改颜色更改
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
android:backgroundTint="@android:color/holo_red_light" />
答案 1 :(得分:0)
要以编程方式更改TextInputEditText的颜色,请使用其setBackgroundTintList
方法或setsetSupportBackgroundTintList
进行棒棒糖制作
editText.setSupportBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#F00000")));