Android编程之手绘

来源:互联网 发布:中国5g网络 编辑:程序博客网 时间:2024/04/27 20:50

不记得哪里获得的一段代码,是通过手指触屏在手机上绘制内容,贴出原代码供大家参考:

import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.view.MotionEvent;import android.view.View;class TestView extends View {public Canvas canvas;public Paint p;private Bitmap bitmap;float x,y;int bgColor;public TestView(Context context) {super(context);bgColor = Color.WHITE;               //设置背景颜色bitmap = Bitmap.createBitmap(480, 480, Bitmap.Config.ARGB_8888);    //设置位图,线就画在位图上面,第一二个参数是位图宽和高canvas=new Canvas();         canvas.setBitmap(bitmap);       p = new Paint(Paint.DITHER_FLAG);p.setAntiAlias(true);                //设置抗锯齿,一般设为truep.setColor(Color.RED);              //设置线的颜色p.setStrokeCap(Paint.Cap.ROUND);     //设置线的类型p.setStrokeWidth(8);                //设置线的宽度}    //触摸事件@Overridepublic boolean onTouchEvent(MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_MOVE) {    //拖动屏幕canvas.drawLine(x, y, event.getX(), event.getY(), p);   //画线,x,y是上次的坐标,event.getX(), event.getY()是当前坐标invalidate();}if (event.getAction() == MotionEvent.ACTION_DOWN) {    //按下屏幕x = event.getX();y = event.getY();canvas.drawPoint(x, y, p);                //画点invalidate();}if (event.getAction() == MotionEvent.ACTION_UP) {    //松开屏幕}x = event.getX();   //记录坐标y = event.getY();return true;}@Overridepublic void onDraw(Canvas c) {    c.drawBitmap(bitmap, 0, 0, null);      } }


原创粉丝点击