Add Color “#e3bb87” to StateListDrawable programmatically

爷,独闯天下 提交于 2019-12-10 10:27:23

问题


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


回答1:


You can use this:

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



回答2:


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



回答3:


The method would be

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


来源:https://stackoverflow.com/questions/15382854/add-color-e3bb87-to-statelistdrawable-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!