Raymond Chenon
Raymond Chenon

Reputation: 12702

Add Color "#e3bb87" to StateListDrawable programmatically

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

Upvotes: 3

Views: 3703

Answers (3)

npace
npace

Reputation: 4258

You can use this:

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

Upvotes: 5

Mr.Me
Mr.Me

Reputation: 9286

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)); 

Upvotes: 1

AnujMathur_07
AnujMathur_07

Reputation: 2596

The method would be

new ColorDrawable(Color.parseColor("#e3bb87"))

Upvotes: 0

Related Questions