java - Android:如何在画布上填充中心圆?
问题描述
如何填充画布上的中心圆圈?
问题:在画布上画两个圆圈
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint p = new Paint();
p.setColor(Color.RED);
DashPathEffect dashPath = new DashPathEffect(new float[]{5,5}, (float)1.0);
p.setPathEffect(dashPath);
p.setStyle(Style.STROKE);
for (int i = 0; i < 2; i ++) {
canvas.drawCircle(200, 200, 50+(i*40), p);
}
invalidate();
}
解决方案
你需要Style.FILL
内圈。
private final Paint p = new Paint();
private final DashPathEffect dashPath = new DashPathEffect(new float[]{5,5}, (float)1.0);
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
p.setColor(Color.RED);
p.setPathEffect(dashPath);
p.setStyle(Style.STROKE);
// outer circle
canvas.drawCircle(200, 200, 50, p);
p.setStyle(Style.FILL);
// inner circle
canvas.drawCircle(200, 200, 90, p);
invalidate();
}
推荐阅读
- javascript - JavaScript flatMap() 错误:“flatMap 映射器函数不可调用”
- firebase - Flutter Firebase Cloud 功能:无法读取数据,因为它的格式不正确
- google-apps-script - 将表格中的数据提取到 Gmail 模板中 - 一次一封电子邮件,而不是批量邮件合并
- c# - 错误:MSB4803:.NET Core 版本的 MSBuild 不支持任务“ResolveComReference”
- awk - 使用awk拆分数百个文件,文件名包含原始文件名加上用于拆分的列
- azure - 使用 terraform 的 Azure 函数 ZIP 部署
- python - 列出默认参数的最佳方法
- excel - Excel power查询一列中所有值的平均值
- html - 我无法在页面底部设置页脚
- laravel - 在干预插件中找不到图像类