自定义view之继承view

public class MyView extends View{

private Paint mPaint;//声明一个画笔
private int pintColor;//声明画笔的颜色


public MyView(Context context) {
super(context);
init();
}

public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}



private void init(){
mPaint = new Paint();//实例化画笔
pintColor = Color.RED;//画笔颜色
mPaint.setColor(pintColor);//设置颜色到画笔
mPaint.setStyle(Style.STROKE);//设置画笔样式 STROKE:不填充;FILL:充满,填充
mPaint.setTextSize(30);//设置字体大小
}



/**
* 重写onDraw方法
*/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawText("Android 自定义view", 100, 100, mPaint);//第一个参数 绘制的文字内容,第二、三个参数 是X Y,第四个参数是生命的画笔

}

}


自定义view之继承view


绘制一张图片,新加如下代码

private Bitmap drawBit;

drawBit = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher);//创建要绘制的图片

canvas.drawBitmap(drawBit,100,200,null);//绘制一张图片

自定义view之继承view


绘制一条线

private Paint linePaint;//声明画笔

linePaint = new Paint();
linePaint.setColor(Color.GREEN);
linePaint.setStyle(Style.STROKE);
linePaint.setStrokeWidth(15);//设置STROKE样式下的 宽度,也就是这条线的粗细

canvas.drawLine(0, 0, 500, 500, linePaint);//绘制一条线,参数:startX,startY,endX,endY;开始的XY,结束的XY


自定义view之继承view

绘制矩形

Rect rect = new Rect();
rect.left = 100;
rect.top = 200;
rect.right = 500;
rect.bottom = 600;
canvas.drawRect(rect, linePaint);//绘制矩形

自定义view之继承view

Rect rect = new Rect();是什么意思呢?

自定义view之继承view