3

我需要以编程方式执行此操作的原因是文本颜色已下载且未在 xml 中预定义。我 以编程方式阅读了此替换选择器图像

我只需要知道从

StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed},
    getResources().getDrawable(R.drawable.pressed));

怎么变成

states.addState(new int[] {android.R.attr.state_pressed},**theMethodImLookingFor**("#e3bb87"));

忘了getResources().getColor(R.color.anycolor),xml中没有定义颜色

4

3 回答 3

5

你可以使用这个:

states.addState(new int[] {android.R.attr.state_pressed},
    new ColorDrawable(Color.parseColor("#e3bb87")));
于 2013-03-13T10:44:38.710 回答
1

我认为您正在寻找ColorDrawable

你可以这样做:

StateListDrawable states = new StateListDrawable();
int color = 0xff00ff00;
states.addState(new int[] {android.R.attr.state_pressed},
     new ColorDrawable(color)); 
于 2013-03-13T10:43:03.040 回答
0

该方法是

new ColorDrawable(Color.parseColor("#e3bb87"))
于 2013-03-13T10:42:33.430 回答