Android自定义view绘图

一、新建一个视图类,继承自View,重写OnDraw()函数,在函数内绘图


 

public class myView extends View {//新建一个视图类,继承自View
        myView(Context context) {
            super(context);
        }
    @Override
        protected void onDraw(Canvas canvas){
        super.onDraw(canvas);
        //在下面绘图


    
    }    

二、Paint设置

Paint就是我们的画笔,我们可以设置它的颜色,粗细,样式,阴影等,在绘图的时候,我们要先实例化画笔工具

Paint paint = new Paint();

设置画笔颜色

paint.setColor(Color.BLUE);//设置画笔为蓝色

 设置画笔的样式

paint.setStyle(Style.FILL);//填充内部

样式有三种

FILL:填充内部  FILL_AND_STROKE:填充内部和描边 STROKE:只描边

默认为FILL吧,前2种看不出差别

设置画笔宽度

 

paint.setStrokeWidth(10);//宽度10

设置阴影

paint.setShadowLayer(8, 20, 20, Color.RED);//设置阴影

//第一个参数是阴影的倾斜度
//第二个参数是水平位移
//第三个参数是垂直位移

好吧,虽然不是很明显的样子-.-

 

setTextSize(float textSize)  // 设置字体大小

setUnderlineText(booleanunderlineText)  // 设置下划线

 

三、Canvas设置

Canvas就是画布,我们可以在上面绘图

画布背景颜色设置

canvas.drawColor(Color.BLUE);
canvas.drawRGB(255, 255, 0); //两种方法

 

四、图形的绘制方法

画圆

 drawCircle (float cx, float cy, float radius, Paint paint);
  //cx:圆点的X坐标
  //cy:圆点的Y坐标
  //radius:圆点的半径
  //paint:自定义的画笔

需要说明的是,绘制图形的坐标圆点位置是屏幕左上角,以那里为圆点

画矩形

 

Paint paint = new Paint();
paint.setColor(Color.RED);
 // 设置样式-空心矩形
 paint.setStyle(Style.STROKE);
 // 绘制一个矩形
canvas.drawRect(new Rect(10, 10, 100, 30), paint);//使用Rect构造
//左上角(10,10) 右上角(100,30)

 

4个点:左上右下的排列,其实就是2个坐标(10,10),(100,30)

绘制字体

drawText(String text, float x, floaty, Paint paint)  //渲染文本,Canvas类除了上面的还可以描绘文字,参数一是String类型的文本,参数二x轴,参数三y轴,参数四是Paint对象。

绘制直线

drawLine(float startX, float startY, float stopX, float stopY, Paintpaint) //画线,参数一起始点的x轴位置,参数二起始点的y轴位置,参数三终点的x轴水平位置,参数四y轴垂直位置,最后一个参数为Paint 画刷对象。

绘制点

drawPoint (float x, float y, Paint paint)
//float X:点的X坐标
//float Y:点的Y坐标

五,把视图类添加到Activity中

很简单,直接实例化我们的视图类myView,在用setContentView(view);

myView mv = new myView(this);

setContentView(mv);

 

posted @ 2017-05-30 19:43  镜湖月色  阅读(1765)  评论(1编辑  收藏  举报