I have a custom View that uses Paint and Canvas to draw objects. My question is how to set:
int color = R.color.white;
paint.setColor(color);
from my /res/valuse/color.xml which includes resources like
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
...
</resources>
What you need to do is set the color between drawing. paint. setColor(color. RED); // Will apply to first path.
ANTI_ALIAS_FLAG. Paint flag that enables antialiasing when drawing.
int color = ContextCompat.getColor(context, R.color.white);
paint.setColor(color);
The setColor()
method takes a color number as int
value, but not a resource id which is an int
as well.
first get your color from xml file
int color = context.getResources().getColor(R.color.colorPrimary); // old
is deprecated now, use this instead
int color = ContextCompat.getColor(context, R.color.colorPrimary); // new
set color
paint.setColor(color);
xml file preview: res/values/color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
</resources>
Try using color.white
:
paint.setColor(Color.white)
paint.setColor(Color.parseColor("#FFFFFF"))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With