=================自定义的 View类Circleview===============
package customview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; /** * Created by Administrator on 2016/8/4. */ public class MyCircleView extends View { private int centerX; private int centerY; /** * 代码实现 * @param context */ public MyCircleView(Context context) { super(context); } public MyCircleView(Context context, AttributeSet attrs) { super(context, attrs); } public MyCircleView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } /** * 测量 * @param widthMeasureSpec * @param heightMeasureSpec */ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); //获取测量模式 int widthMode = MeasureSpec.getMode(widthMeasureSpec); int heightMode = MeasureSpec.getMode(heightMeasureSpec); //获取测量模式下的尺寸 int w = MeasureSpec.getSize(widthMeasureSpec); int h = MeasureSpec.getSize(heightMeasureSpec); //初始化图像宽、高 int width = 0; int heigh = 0; if (widthMode == MeasureSpec.EXACTLY){ width = w; heigh = h; }else { width = 400; heigh = 400; } //应用测量结果 setMeasuredDimension(width, heigh); } /** * 默认屏幕宽高 * @param w * @param h * @param oldw * @param oldh */ @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); //获取中心点 centerX = w / 2; centerY = h / 2; } /** * 画 * @param canvas */ @Override protected void onDraw(Canvas canvas) { Paint paint = new Paint(); //红色 paint.setColor(Color.RED); //设置为空心 //paint.setStyle(Paint.Style.STROKE); //绘制圆 canvas.drawCircle(250, 200, 60, paint); //中心 // canvas.drawCircle(centerX, centerY, 60, paint); //绘制直线 canvas.drawLine(0, 500, 500, 500, paint); //设置线的粗细 paint.setStrokeWidth(10); } }