一.摘要
Paint,Canvas,Path这三个类被使用在自定义控件中,Paint被比喻成画笔,Canvas被比喻成画纸,Path被比喻成画尺,我们就是一个小学生,特喜欢在画画课堂上捣鼓,使用不同颜色的画笔在洁白的画纸上画出各种图像:有直线,曲线,三角形,圆形,矩形,甚至各种人物,动物,景物等。
二.Paint
画笔不止有一只“铅笔”,而是12只不同颜色的“彩笔”,如果想要画一个红色的气球,我们选择红色的“彩笔”,设置Paint属性如下:
- Paint paintBalloon=new Paint();
- paintBalloon.setColor(Color.RED);
如果想要在红色气球的之间“画”多几个文字,文字的颜色为白色,文字的大小为20,文字的类型(字体,粗细,倾斜),文字的边界为平滑,选择另外一只画笔,设置Paint属性如下:
- Paint paintFont=new Paint();
- paintFont.setColor(Color.WHITE);
- paintFont.setTextSize(20);
- paintFont.setTypeface(Typeface.SERIF);
- paintFont.setTypeface(Typeface.DEFAULT_BOLD);
- paintFont.setAntiAlias(true);
三.Canvas
选好了画笔,可以开始取出一张“画纸”,然后再画纸上面画出红色的气球和白色的文字,创建一个Canvas对象,然后drawCircle()方法,代码如下:
- canvas.drawCircle(300,300,100,paintBalloon);
第一个参数:圆心点的X轴坐标
第二个参数:圆心点的Y轴坐标
第三个参数:圆的半径
第四个参数:选择的Paint画笔
在气球的之间,同一张画纸,即同一个canvas对象,“画”上几个文字,具体代码如下:
- canvas.drawText("亲爱的",250,300,paintFont);
第一个参数:画的文字
第二个参数:文字开始的X轴坐标
第三个参数:文字开始的Y轴坐标
在气球的下面,同一张画纸,即同一个canvas对象,“画”上一根线,具体代码如下:
- canvas.drawLine(300,400,300,800,paintLine);//第三只画笔
第一个参数:线起点的X轴坐标
第二个参数:线起点的Y轴坐标
第三个参数:线终点的X轴坐标
第四个参数:线终点的Y轴坐标
第五个参数:画线的画笔
四.Path
Path是画尺,在气球的外边添加一圈粉色的边框,看起来更有立体感,那就要借助“三角板”的圆型模型,然后套在画纸上绘画,具体代码如下:
- Path pathCircle=new Path();
- pathCircle.addCircle(300,300,120,Direction.CW);
- Paint paintCircle=new Paint();
- paintCircle.setColor(Color.argb(80,255,192,203));
- paintCircle.setAntiAlias(true);
- canvas.drawPath(pathCircle,paintCircle);//第四支画笔
五.画笔,画纸,画尺Android开发应用
现在自定义MessageImageView控件,控件的特点设置图片src,然后裁剪为圆形图像,在圆形头像的右上角显示消息的数量,类似手机QQ消息提示红点效果,效果如下图:
你可能感兴趣的文章
转载请注明出处: https://www.teachcourse.cn/1731.html ,谢谢支持!