您的位置:首页 > 移动开发 > Android开发

android学习4-25 使用canvas绘制几何图形(在View内)

2016-04-26 12:03 766 查看
package com.mz.canvas;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.RectF;
import android.view.View;

public class MyView extends View {
private Paint paint;
private Paint paint1;
public MyView(Context context) {
super(context);
paint=new Paint();
paint.setColor(Color.RED);//画笔颜色
paint.setStrokeWidth(5);//画笔宽度
paint.setAntiAlias(true);//抗锯齿
paint.setStyle(Style.STROKE);//样式不填充
paint.setTextSize(20);//字体大小为20
paint1=new Paint(paint);//*继承paint,相当于复制一个画笔
paint1.setColor(Color.BLUE);
//paint1.setStyle(Style.FILL);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
//注意:画布颜色要先设置
canvas.drawColor(Color.WHITE);
//1.在指定的地方绘制点
canvas.drawPoint(10, 10, paint);
//利用数组绘制多个点
float pts[] =new float[]{
30,10,50,10
};
canvas.drawPoints(pts, paint);
//2.在指定的坐标画一条直线
canvas.drawLine(10, 10, 50, 50, paint);
//根据数据坐标绘制多条直线
float[] pts_line=new float[]{
20,20,100,100,
120,10,150,10
};
canvas.drawLines(pts_line, paint);
//绘制椭圆、扇形、圆弧都是依据矩形画
//canvas.drawRect(20, 120, 220, 200, paint);//第一种方法
/********第二种方法*********/
RectF rect=new RectF(20, 120, 220, 220);
canvas.drawRect(rect, paint);
/**************************/
canvas.drawOval(rect, paint);//绘制椭圆
canvas.drawArc(rect, 0, 60, true, paint1);//绘制扇形(基础矩形,开始角度,角度,是否显示边,paint)
canvas.drawRoundRect(rect, 10, 20, paint1);//绘制圆角矩形
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: