我从我的问题Add Color "#e3bb87" to StateListDrawable programmatically创建了StateListDrawable,但是TextView.setTextColor没有采用StateListDrawable(奇怪的是它在布局中工作)而是ColorStateList。我读了这个change statelistdrawable text color android button
在ColorStateList的构造函数中,它只接受int
的数组ColorStateList colorStateList = new ColorStateList(
new int[][]{
new int[]{R.attr.state_pressed},
new int[]{R.attr.state_selected},
new int[]{-R.attr.state_selected},
},
new int[]{
Color.GREEN,
Color.BLUE,
Color.RED});
colors.xml中没有定义颜色,因为我下载了这个颜色属性。我该如何定义?
ColorStateList colorStateList = new ColorStateList(
new int[][]{
new int[]{R.attr.state_pressed}
},
**getThisColor**("#e3bb87"));
答案 0 :(得分:9)
使用此
ColorStateList colorStateList = new ColorStateList(
new int[][] { new int[] { R.dimen.padding_large } },
new int[] {Color.parseColor("#e3bb87")});
答案 1 :(得分:1)
您可以使用valueOf()
的{{1}}方法,该方法返回包含单色的ColorStateList
:
ColorStateList