码迷,mamicode.com
首页 > 移动开发 > 详细

安卓的画图应用的构建

时间:2016-01-13 12:48:11      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

1、所需的控件:

(1)Paint:画笔,可设置画图线条颜色,粗细,锯齿有无等,用与画图的工具;

(2)Canvas:画布(需传入Bitmap对象),使用该对象可以达到自己想画的图形效果, 最后实现在位图上

如:直线,矩形,椭圆等;

(3)Bitmap:位图,实现画布图形的控件;

(4)ImageView:装载位图的控件;

(5)触屏监听器:实现OnTouchListener完成触屏画图的响应事件及操作;

2、构建过程:

(1)先定义类实现触屏监听接口(OnTouchListener

   1)要实现根据触屏操作响应画图,在监听内须提前构建画布、画笔等一系列 画图相关控件。但由于(Bitmap)位图大小需适应事件源对象(即ImageView),

应在第一次的public boolean onTouch(View v, MotionEvent event)方法中,创建 适应事件源v的(Bitmap)位图。创建位图可以调用该类的静态创建方法:

bitmap=Bitmap.creatBitmap(,位图位数)

再创建画布:new Canvas(bitmap)

与画笔(也可在此时设置相应的属性);

2)event对象中包含着触屏的坐标与触屏的事件。根据触屏的事件执行相应 的操作:

如:MotionEvent.ACTION_DOWN(按下):获取第一次坐标

MotionEvent.ACTION_UP(松开):获取第二次坐标,并画出想要的图形

canvas.drawLine(x1,y1,x2,y2,paint)直线、矩形、圆等等)

MotionEvent.ACTION_MOVE(移动):获取第二次坐标,以两次坐标连线,

再用第二次的坐标覆盖第一次的坐标,这样就可以画出你想画的图形;

3)因为画布canvas传入的的是位图,canvasdraw操作只是在位图中画图。 要在界面中的ImageView显示出来,就须在每次的canvasdraw操作(即位 图的更新)之后,iv.setImageBitmap(bitmap);ImageView iv=(ImageView)v;), 相当于更新页面的显示吧;

2)在activity.xml界面中添加一个ImageView,在activity.java中找到它,并给它设置  触屏监听器

安卓的画图应用的构建

标签:

原文地址:http://www.cnblogs.com/fjsjxy1111/p/5126757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!