3

The reason I need to do this programmatically is that the text color is downloaded and not pre defined in the xml. I read this Replace selector images programmatically

I only need to know from

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

how turn into

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

forget about getResources().getColor(R.color.anycolor) , the color is not defined in xml

Community
  • 1
  • 1
Raymond Chenon
  • 11,482
  • 15
  • 77
  • 110

3 Answers3

5

You can use this:

states.addState(new int[] {android.R.attr.state_pressed},
    new ColorDrawable(Color.parseColor("#e3bb87")));
npace
  • 4,218
  • 1
  • 25
  • 35
1

I think you are looking for ColorDrawable

you can do something like this:

StateListDrawable states = new StateListDrawable();
int color = 0xff00ff00;
states.addState(new int[] {android.R.attr.state_pressed},
     new ColorDrawable(color)); 
Mr.Me
  • 9,192
  • 5
  • 39
  • 51
0

The method would be

new ColorDrawable(Color.parseColor("#e3bb87"))
AnujMathur_07
  • 2,586
  • 2
  • 18
  • 25