以编程方式设置editText突出显示颜色

时间:2017-07-24 14:15:44

标签: android colors android-edittext underline

如果它的焦点,我想用语法更改editTexts线颜色。

我已经尝试使用colorStateList

int[][] states = new int[][]{
                new int[]{android.R.attr.state_focused},   
                new int[]{android.R.attr.state_active },    
                new int[]{ -android.R.attr.state_enabled},   
                new int[]{android.R.attr.state_enabled},   
        };

        int[] colors = new int[]{
                highlightColor,
                defaultColor,
                defaultColor,
                defaultColor
        };

        ColorStateList myList = new ColorStateList(states, colors);
        editText.setBackgroundTintList(myList);

我可以更改线条的正常颜色,但焦点始终是app中editTexts的默认颜色。

这个默认是灰色的,聚焦是默认来自app让我们说绿色但是我想要一个让我们说红色的焦点

建议的线程中的答案是基于XML的,我必须动态设置它,也只有高亮/聚焦颜色不同,正常颜色保持灰色

1 个答案:

答案 0 :(得分:1)

创建自定义EditText并将this.setBackgroundTintList( ColorStateList.valueOf( color ) );添加到构造函数中。