效果图:
![这里写图片描述](https://img-blog.csdn.net/20150723152445742)
页面代码:
public class WatchView extends View {
private Paint mPaint, minPaint;
private float mRadius = 250;
public WatchView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
mPaint = new Paint();
mPaint.setColor(Color.BLACK);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setAntiAlias(true);
mPaint.setStrokeWidth(8);
canvas.translate(canvas.getWidth() / 2, canvas.getHeight() / 2);
canvas.drawCircle(0, 0, mRadius, mPaint);
canvas.drawCircle(0, 0, 8, mPaint);
canvas.drawLine(0, 20, 0, -180, mPaint);
Path path = new Path();
RectF rectF = new RectF(-mRadius, -mRadius, mRadius, mRadius);
path.addArc(rectF, 180, -180);
minPaint = new Paint(mPaint);
minPaint.setStyle(Paint.Style.FILL);
minPaint.setTextSize(20);
minPaint.setStrokeWidth(1);
canvas.drawTextOnPath("R O L E X", path, 340, -100, minPaint);
int count = 60;
float distance = -mRadius + 20;
for (int i = 0; i < count; i++) {
if (i % 5 == 0) {
canvas.drawLine(0, -mRadius, 0, distance + 10, minPaint);
canvas.drawText(i == 0 ? "12" : String.valueOf(i / 5), -5, distance + 30, minPaint);
} else {
canvas.drawLine(0, -mRadius, 0, distance, minPaint);
}
canvas.rotate(360 / count);
}
}
}