【发布时间】:2015-11-27 08:51:59
【问题描述】:
我正在 android 中编写自定义视图。我想画一个覆盖我视图所有宽度和高度的圆圈。这是我的代码
private void init() {
bgpaint = new Paint();
bgpaint.setColor(bgColor);
bgpaint.setAntiAlias(true);
bgpaint.setStyle(Paint.Style.STROKE);
bgpaint.setStrokeWidth(strokeWidth);
rect = new RectF();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// draw background circle anyway
int strokeWidth = 50;
rect.set(strokeWidth, strokeWidth, getwidth()- strokeWidth,
getheight() - strokeWidth);
canvas.drawArc(rect, -90, 360, fill, bgpaint);
}
但是当我运行结果会是这样的
我想要这样
我的代码有什么问题?
【问题讨论】:
-
调用
rect.set时必须使用strokeWidth / 2f,而不是strokeWidth
标签: android drawing android-custom-view