Android源码下载:屏幕画笔Demo

移动开发 Android
该Demo主要以当前桌面为背景,完成画笔的相关功能。1、画笔的添加、移除等功能;2、针对不同的生命周期,响应不同的桌面背景。

功能分类:工具

支持平台:Android

运行环境:Eclipse

开发语言:Java

开发工具:Eclipse

源码大小:30.93KB

源码下载地址:http://down.51cto.com/data/1984802

源码简介

该Demo主要以当前桌面为背景,完成画笔的相关功能。

1、画笔的添加、移除等功能;

2、针对不同的生命周期,响应不同的桌面背景。

源码运行截图

桌面背景,进行涂鸦

返回键撤销画笔路径

home,切换背景后,继续涂鸦

画笔涂鸦

源码片段

public ScreenPaintView(Context context, int w, int h) { 
        super(context); 
        screenWidth = w; 
        screenHeight = h; 
  
        mBitmap = Bitmap.createBitmap(screenWidth, screenHeight, 
                Bitmap.Config.ARGB_8888); 
        // 保存一次一次绘制出来的图形 
        mCanvas = new Canvas(mBitmap); 
  
        mBitmapPaint = new Paint(Paint.DITHER_FLAG); 
        mPaint = new Paint(); 
        mPaint.setAntiAlias(true); 
        mPaint.setStyle(Paint.Style.STROKE); 
        mPaint.setStrokeJoin(Paint.Join.ROUND);// 设置外边缘 
        mPaint.setStrokeCap(Paint.Cap.SQUARE);// 形状 
        mPaint.setStrokeWidth(8);// 画笔宽度 
        mPaint.setColor(0xFF2145FF);// 画笔颜色 
        savePath = new ArrayList<drawpath>(); 
    } 
  
    @Override 
    public void onDraw(Canvas canvas) { 
        canvas.drawColor(0x0FFFFFFF); 
        // 将前面已经画过得显示出来 
        canvas.drawBitmap(mBitmap, 00, mBitmapPaint); 
        if (mPath != null) { 
            // 实时的显示 
            canvas.drawPath(mPath, mPaint); 
        } 
    } 
  
    private void touch_start(float x, float y) { 
        mPath.moveTo(x, y); 
        mX = x; 
        mY = y; 
    } 
  
    private void touch_move(float x, float y) { 
        float dx = Math.abs(x - mX); 
        float dy = Math.abs(mY - y); 
        if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) { 
            // 从x1,y1到x2,y2画一条贝塞尔曲线,更平滑(直接用mPath.lineTo也是可以的) 
            // 由此就可以制作各种画笔 
            mPath.quadTo(mX, mY, (x + mX) / 2, (y + mY) / 2); 
            mX = x; 
            mY = y; 
        } 
    } 
  
    private void touch_up() { 
        mPath.lineTo(mX, mY); 
        mCanvas.drawPath(mPath, mPaint); 
        // 将一条完整的路径保存下来(相当于入栈操作) 
        savePath.add(dp); 
        mPath = null;// 重新置空 
    }</drawpath> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.

源码下载地址:http://down.51cto.com/data/1984802

责任编辑:闫佳明 来源: 网络整理
相关推荐

2015-01-20 17:01:30

Android源码QQdemo

2013-08-06 15:13:57

Android 4.3源码

2015-02-27 15:46:09

Android源码桌面APP

2015-01-22 14:12:40

Android源码APP启动引导

2015-01-21 15:28:16

Android源码新浪微博

2015-01-15 16:25:23

Android源码Socket通信

2015-01-23 16:32:52

2015-01-20 17:09:21

Android源码手势锁

2015-01-22 15:44:55

Android源码音乐播放器

2015-01-14 14:22:30

Android源码游戏

2009-03-22 10:52:36

CCNA屏幕录像视频

2013-05-22 09:49:36

2012-07-10 09:34:50

jQuery

2015-01-21 16:07:57

Android源码验证码倒计时

2013-05-28 10:39:44

Android开发移动开发

2015-02-27 16:03:26

Android源码Bluetooth_4BLE蓝牙通信

2013-12-27 12:51:44

Android开发Android应用引路蜂

2014-12-30 11:04:39

懒人笔记

2013-07-23 07:03:51

Android开发学习Gallery实现3DAndroid源码下载

2013-03-28 13:27:14

Android获取屏幕
点赞
收藏

51CTO技术栈公众号