Create a new color drawable
Solution 1:
Since you're talking about hex you have to start with 0x
and don't forget the opacity.
So basically: 0xFFFF6666
ColorDrawable cd = new ColorDrawable(0xFFFF6666);
You can also create a new colors.xml file into /res and define the colors like:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="mycolor">#FF6666</color>
</resources>
and simply get the color defined in R.color.mycolor
getResources().getColor(R.color.mycolor)
Solution 2:
For using with ContextCompat and rehuse the color you can do something like this:
ColorDrawable colorDrawable = new ColorDrawable(ContextCompat.getColor(this, R.color.white));
Solution 3:
It should be like this...
ColorDrawable cd = new ColorDrawable(0xffff6666);
Note I used 8 hex digits, not 6 hex digit . which add to transparency
Solution 4:
By followingthe above advice,to be a summary of this question:
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#ce9b2c"));`
ColorDrawable colorDrawable = new ColorDrawable(0xFFCE9B2C); Note there is 8 hex digits, not 6 hex digit,which no work. Case all
ColorDrawable colorDrawable = new ColorDrawable(ContextCompat.getColor(mContext,R.color.default_color));
Selecting up to you!
Solution 5:
I think you have to use :
public static int parseColor (String colorString)
Added in API level 1 Parse the color string, and return the corresponding color-int. If the string cannot be parsed, throws an IllegalArgumentException exception. Supported formats are: #RRGGBB #AARRGGBB red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray, darkgray, grey, lightgrey, darkgrey, aqua, fuschia, lime, maroon, navy, olive, purple, silver, teal