一、新建一個視圖類,繼承自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);