Issue
I am trying to convert a hex value to an int so I can create a new color drawable. I'm not sure if this is possible, but according to the documentation, it should. It plainly asks for
public ColorDrawable (int color)
Added in API level 1 Creates a new ColorDrawable with the specified color.
Parameters color The color to draw.
So, my code isn't working because I'm getting an Invalid int: "FF6666" error. Any ideas?
int decode = Integer.decode("FF6666");
ColorDrawable colorDrawable = new ColorDrawable(decode);
Solution
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)
Answered By - Enrichman
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.