自定义view画圆

来源:互联网 发布:淘宝问卷调查 编辑:程序博客网 时间:2024/06/05 08:55
private Paint paint;private int cx;private int cy;public MyView(Context context, AttributeSet attrs) {super(context, attrs);// 初始化画笔initView();}private void initView() {// 得到画笔paint = new Paint();// 设置画笔属性paint.setAlpha(255);// 透明度paint.setStyle(Style.STROKE);// //设置画笔为空心paint.setStrokeWidth(2);// 画笔线宽paint.setColor(Color.RED);// 画笔颜色paint.setAntiAlias(true);// /抗锯齿}@Override// 测量protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {// TODO Auto-generated method stubsuper.onMeasure(widthMeasureSpec, heightMeasureSpec);// 从新设置当前view的大小setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);}@Override// 布局protected void onLayout(boolean changed, int left, int top, int right,int bottom) {if (changed) {cx = getWidth() / 2;cy = getHeight() / 2;}}@Override// 绘制protected void onDraw(Canvas canvas) {for (int i = 0; i < getWidth(); i = i + 20) {// 画直线.// 直线的x起始点,y起始点y终点,y终点//横线canvas.drawLine(0, i, getWidth(), i, paint);// 竖线canvas.drawLine(i, 0, i, getHeight(), paint);}for (int i = 0; i < getWidth(); i = i + 20) {// 画点paint.setColor(Color.GREEN);paint.setStrokeWidth(10);canvas.drawPoint(i, i, paint);}// 画圆// X坐标// y坐标// 半径// 画笔paint.setColor(Color.BLUE);paint.setStrokeWidth(20);canvas.drawCircle(cx, cy, 60, paint);}

0 0