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