android_Canvas

獲取View中的Canvas對象,繪製一些自定義形狀,然後調用View. invalidate方法讓View重新刷新

Canvas可以繪製的對象有:弧線(arcs)、填充顏色(argb和color)、 Bitmap、圓(circle和oval)、點(point)、線(line)、矩形(Rect)、圖片(Picture)、圓角矩形 (RoundRect)、文本(text)、頂點(Vertices)、路徑(path)

1.canvas.drawCircle(100, 100, 90, paint);    圓

2.//繪製弧線區域         

    RectF rect = new RectF(0, 0, 100, 100);         

    canvas.drawArc(rect, //弧線所使用的矩形區域大小    

            0,  //開始角度    

            90, //掃過的角度    

            false, //是否使用中心    

            paint);  

3.//繪製弧線區域              

    RectF rect = new RectF(0, 0, 100, 100);              

    canvas.drawArc(rect, //弧線所使用的矩形區域大小    

            0,  //開始角度    

            90, //掃過的角度    

            true, //是否使用中心    

            paint);       

當useCenter爲true時,是弧線開始角度和結束角度都與中心點連接,形成一個扇形。

4。canvas.drawColor(Color.BLUE);    

    //畫一條線    

    canvas.drawLine(10, 10, 100, 100, paint);   

5.    //定義一個矩形區域    

    RectF oval = new RectF(0,0,200,300);    

    //矩形區域內切橢圓    

    canvas.drawOval(oval, paint);    

6     //按照既定點 繪製文本內容    

    canvas.drawPosText("Android777", new float[]{    

            10,10, //第一個字母在座標10,10    

            20,20, //第二個字母在座標20,20    

            30,30, //....    

            40,40,    

            50,50,    

            60,60,    

            70,70,    

            80,80,    

            90,90,    

            100,100    

    }, paint);    

7    RectF rect = new RectF(50, 50, 200, 200);       

      canvas.drawRect(rect, paint);  

8帶圓角

RectF rect = new RectF(50, 50, 200, 200);    

canvas.drawRoundRect(rect,    

                        30, //x軸的半徑    

                        30, //y軸的半徑    

                        paint);    

9   Path path = new Path(); //定義一條路徑    

    path.moveTo(10, 10); //移動到 座標10,10    

    path.lineTo(50, 60);    

    path.lineTo(200,80);    

    path.lineTo(10, 10);      

    canvas.drawPath(path, paint);    

10    Path path = new Path(); //定義一條路徑    

            path.moveTo(10, 10); //移動到 座標10,10    

            path.lineTo(50, 60);    

            path.lineTo(200,80);    

            path.lineTo(10, 10);    

//         canvas.drawPath(path, paint);    

            canvas.drawTextOnPath("Android777開發者博客", path, 10, 10, paint);  


發佈了33 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章