Vas*_*hev 21 android canvas paint
我有一个使用Paint和Canvas绘制对象的自定义View.我的问题是如何设置:
int color = R.color.white;
paint.setColor(color);
Run Code Online (Sandbox Code Playgroud)
来自我的/res/valuse/color.xml,其中包括像
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
...
</resources>
Run Code Online (Sandbox Code Playgroud)
Vit*_*ski 54
int color = ContextCompat.getColor(context, R.color.white);
paint.setColor(color);
Run Code Online (Sandbox Code Playgroud)
该setColor()方法将颜色编号作为int值,但不是资源ID int.
小智 11
尝试使用color.white:
paint.setColor(Color.white)
Run Code Online (Sandbox Code Playgroud)
首先从xml文件中获取颜色
int color = context.getResources().getColor(R.color.colorPrimary); // old
Run Code Online (Sandbox Code Playgroud)
现在已弃用,请改用此名称
int color = ContextCompat.getColor(context, R.color.colorPrimary); // new
Run Code Online (Sandbox Code Playgroud)
设置颜色
paint.setColor(color);
Run Code Online (Sandbox Code Playgroud)
xml文件预览: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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59902 次 |
| 最近记录: |