我需要以以编程方式执行此操作的原因是文本颜色已下载,而不是在xml中预先定义。我看了这个 Replace selector images programmatically
我只需要知道
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中定义
答案 0 :(得分:5)
您可以使用:
states.addState(new int[] {android.R.attr.state_pressed},
new ColorDrawable(Color.parseColor("#e3bb87")));
答案 1 :(得分:1)
我认为您正在寻找ColorDrawable
你可以这样做:
StateListDrawable states = new StateListDrawable();
int color = 0xff00ff00;
states.addState(new int[] {android.R.attr.state_pressed},
new ColorDrawable(color));
答案 2 :(得分:0)
方法是
new ColorDrawable(Color.parseColor("#e3bb87"))