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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值