Canvas和Paint----畫布和畫筆
想畫一個東西,由畫筆來設置它的顏色、大小、寬度、樣式、透明度等等屬性,而所畫東西的形狀,路徑,文字等都是通過畫布來設置
基本操作:新建類,繼承View,重寫onDraw方法
private Paint paint;
public CustomView(Context context) {
super(context);
init();
}
private void init() {
paint = new Paint();
paint.setAntiAlias(true);//設置抗鋸齒
paint.setStrokeWidth(3);//畫筆寬度
paint.setColor(Color.RED);//畫筆顏色
paint.setStyle(Paint.Style.STROKE);//畫筆樣式
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
畫筆準備完畢,在佈局文件中引入我們的自定義view,使用畫布畫一個
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawCircle(500,500,200,paint)//參數按順序,分別是x軸座標,y軸座標,半徑,畫筆
}
畫直線
canvas.drawLine(100, 100, 500, 500, paint);//起始點x軸座標和y座標,終點x軸座標和y座標。
畫矩形
canvas.drawRect(100,200,300,400,paint)//left、top、right、bottom,分別代表矩形的四個邊
//他的四個頂點分別是,(100,200)(100,400)(300,200)(300,400)
畫圓角矩形
RectF rectF = new Rectf(100,200,300,400)
canvas.drawRoundRect(rectF,20,20,paint)//矩形,圓角橢圓的x軸半徑,y軸半徑,畫筆
畫橢圓
canvas.drawOval(new RectF(100, 200, 300, 400), paint);
畫圓弧
canvas.drawArc(new RectF(100, 300, 400, 500), 0, 90, false, paint);//圓弧是根據橢圓來繪製的,所以跟橢圓一樣先傳個矩形,在闖入起始角度,終止角度,是否顯示圓弧的兩個