自定义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,第四个参数是生命的画笔
}
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,第四个参数是生命的画笔
}
}
绘制一张图片,新加如下代码
private Bitmap drawBit;
drawBit = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher);//创建要绘制的图片
canvas.drawBitmap(drawBit,100,200,null);//绘制一张图片
绘制一条线
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
绘制矩形
Rect rect = new Rect();
rect.left = 100;
rect.top = 200;
rect.right = 500;
rect.bottom = 600;
canvas.drawRect(rect, linePaint);//绘制矩形
Rect rect = new Rect();是什么意思呢?