Java 如何在android中创建自定义形状:跨圆
我想画一个圆圈,然后在android中使用Shape drawable,就像 如果有人知道如何实现这一目标。请帮忙。我无法在圆内创建十字 使用这个代码Java 如何在android中创建自定义形状:跨圆,java,android,drawable,draw,shape,Java,Android,Drawable,Draw,Shape,我想画一个圆圈,然后在android中使用Shape drawable,就像 如果有人知道如何实现这一目标。请帮忙。我无法在圆内创建十字 使用这个代码 class MyView extends View { Paint paint1 = new Paint(); Paint paint2 = new Paint(); Paint paint3 = new Paint(); Paint p
class MyView extends View {
Paint paint1 = new Paint();
Paint paint2 = new Paint();
Paint paint3 = new Paint();
Paint paint4 = new Paint();
Paint paint5 = new Paint();
final RectF rect = new RectF();
int mRadius = 130;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Example values
rect.set(getWidth() / 2 - mRadius, getHeight() / 2 - mRadius,
getWidth() / 2 + mRadius, getHeight() / 2 + mRadius);
paint1.setColor(Color.RED);
paint1.setStrokeWidth(16);
paint1.setAntiAlias(true);
paint1.setStrokeCap(Paint.Cap.BUTT);
paint1.setStyle(Paint.Style.STROKE);
paint2.setColor(Color.RED);
paint2.setStrokeWidth(mRadius / 2);
paint2.setAntiAlias(true);
paint2.setStrokeCap(Paint.Cap.BUTT);
paint2.setStyle(Paint.Style.STROKE);
paint3.setColor(Color.RED);
paint3.setStrokeWidth(16);
paint3.setAntiAlias(true);
paint3.setStrokeCap(Paint.Cap.BUTT);
paint3.setStyle(Paint.Style.STROKE);
canvas.drawArc(rect, 0, 3600, false, paint1);
canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
- mRadius, getHeight() / 2 - mRadius, paint3);
canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
+ mRadius, getHeight() / 2 - mRadius, paint3);
canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
- mRadius, getHeight() / 2 + mRadius, paint3);
canvas.drawLine(getWidth() / 2, getHeight() / 2, getWidth() / 2
+ mRadius , getHeight() / 2 + mRadius , paint3);
}
}