Canvas(画布)定义各种绘制图形的方法
类drawBitmap()画位图drawPath()沿着制定path画任意图形drawCirle()画圆
drawRect()画矩形drawOval()画椭圆
Paint(画笔)
setColor(),setStyle(),setStrokeWidth(),setTextSize(),
setTextAlign()设置文字对齐方式
Bitmap(位图)
Path类
moveTo()定义图形的第一个顶点,lineTo()定义图形连接到哪个点,
close()回到哪个点
可以使用以下两种方式在画布上绘图:
使用View类
使用SurfaceView类
实例:
1创建类MyTouch(相当于自定义部件)继承View类
2添加构造函数(Context,AttributeSet两个函数的)
3Paint p;
Bitmap bitmap;
float x,y;
在构造函数中
p=new Paint();
p.setColor(Color.red);
p.setStyle(Paint.Style.Fill||STROKE(轮廓))
p.setStrokeWidth(4f)边框粗细
bitmap=BitmapFactory.decodeResource(getResource()返回一个res对象,R.drawable.)解析资源文件
转换成bitmap对象
4重写 onDraw(canvas)
canvas.drawColor(Color.Black)画布颜色
//画位图
canvas.drawBitmap(bitmap,x左边到远点在x轴距离,y顶边到原点在y轴距离,paint)显示图片
//基于回调方法的方式处理触摸事件
重写onTouchEvent(event)
if(event.getAction()得到当前产生的动作==MotionEvent.Action_Move){
//获取当前手指的位置坐标
x=event.getX();
y=event.gety();
invalidate();重新调用ondraw重新画
}
5把部件放到布局中去