更改TextInputEditText的下划线颜色在ScrollView中不起作用

时间:2018-12-04 18:38:41

标签: android scrollview android-textinputlayout programmatically

我的目标是以编程方式更改重点标签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

一些图片:

Outside ScrollView

Inside ScrollView

2 个答案:

答案 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")));