ColorStateList不能以编程方式工作

时间:2015-12-27 10:56:48

标签: android android-layout android-drawable

我正在尝试以编程方式设置ColorStateList EditText

ColorStateList textColorStateList = new ColorStateList(
        new int[][]{
                new int[]{android.R.attr.state_enabled},
                new int[]{-android.R.attr.state_enabled},
                new int[]{},
        },
        new int[]{
                R.color.DARK_GRAY_COLOR,
                R.color.LIGHT_RED_COLOR,
                R.color.DARK_GRAY_COLOR});

以下是我在EditText

上的使用方法
    editText.setTextColor(textColorStateList);

但每当我设置editText.setEnabled(false);editText的颜色都保持不变。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

第二个参数是不是资源id的颜色列表。像

一样使用它
new int[]{
    getColor(R.color.DARK_GRAY_COLOR),
    getColor(R.color.LIGHT_RED_COLOR),
    getColor(R.color.DARK_GRAY_COLOR) }