上篇文章中,博主介绍了自定义View——可拖动设置时间的时钟具体实现1,将时钟的控件组成拆解开,涉及到的角度、位置计算也介绍完了,本章将介绍如何把这些基于View类组装成一个完整的自定义View。
对于这样一个控件,重写View类的onDraw()方法,绘制出需要的时钟表盘、文字等部分。
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
drawClock(canvas);
drawText(canvas);
}
private void drawClock(Canvas canvas) {
paint.setStrokeWidth(strokeWidth); //设置圆环的宽度
paint.setStyle(Paint.Style.STROKE);
paint.setAntiAlias(true); //消除锯齿
RectF oval = new RectF(centerx - radius, centery - radius, centerx
+ radius, centery + radius); //用于定义的圆弧的形状和大小的界限
/**
* 背景圆环
*/
paint.setColor(Color.WHITE); //设置颜色
canvas.drawArc(oval, -90, 360, true, paint);
/**
*覆盖圆弧
*/
paint.setColor(Color.rgb(