package com.xw.android;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Paint.Style;
import android.os.Bundle;
import android.view.View;
public class Draw extends Activity {
/**画简单的图形:点、直线、三角形、四边形、圆、弧
* */
//编写一类继承View,并重写其onDraw方法
class MyView extends View{
//定义了6个Paint属性实例
private Paint paint1=new Paint();
private Paint paint2=new Paint();
private Paint paint3=new Paint();
private Paint paint4=new Paint();
private Paint paint5=new Paint();
private Paint paint6=new Paint();
public MyView(Context context) {
super(context);
setBackgroundColor(Color.WHITE);
// 在构造函数中,设置Paint属性实例:颜色,大小
paint1.setColor(Color.BLUE);
paint1.setStrokeWidth(8);
paint2.setColor(Color.RED);
paint2.setStrokeWidth(2);
paint3.setColor(Color.GREEN);
paint3.setStrokeWidth(5);
paint4.setColor(Color.YELLOW);
paint4.setStrokeWidth(2);
paint5.setColor(Color.BLUE);
paint5.setStrokeWidth(4);
paint6.setColor(Color.DKGRAY);
paint6.setStrokeWidth(2);
}
@Override
protected void onDraw(Canvas canvas) {
//画点
canvas.drawPoint(10, 10, paint1);
canvas.drawPoints(new float[]
{ 20, 20, 20, 35, 20, 50 }, paint1);
//画直线
canvas.drawLine(20, 60, 300, 60, paint2);
//画多条直线:三角形
canvas.drawLines(new float[]
{ 70, 70, 70, 170, 70, 170,170,170,170,170,70,70}, paint2);
//画四条直线:四过形
canvas.drawLines(new float[]
{ 70, 200, 70, 300, 70, 300,170,300,170,300,170,200,170,200,70,200}, paint3);
//画圆
canvas.drawCircle(230, 150, 45, paint4);
//默认是实心圆,要画空心的需设置Style为STROKE
paint5.setStyle(Style.STROKE);
canvas.drawCircle(230, 150, 50, paint5);
//画弧
RectF rectF = new RectF();//外切矩形左上角,右下角坐标,共四个值
rectF.left = 30;
rectF.top = 250;
rectF.right = 120;
rectF.bottom = 380;
boolean useCenter=true;//是设是否过圆心连线
canvas.drawArc(rectF, 0, 200, useCenter, paint6);
RectF rectF2 = new RectF();//外切矩形左上角,右下角坐标,共四个值
rectF2.left = 20;
rectF2.top = 260;
rectF2.right = 130;
rectF2.bottom = 390;
boolean useCenter2=false;//是设是否过圆心连线
paint6.setStyle(Style.STROKE);
canvas.drawArc(rectF2, 0, 200, useCenter2, paint6);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
}
}
- 1
- 2
前往页