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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM