`
venus585625
  • 浏览: 253197 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android中在屏幕上涂鸦的例子

阅读更多
这个例子,自定义了一个View,可以接受touch动作,然后在屏幕上即时的显示出touch的轨迹,类似于线条的涂鸦。这个例子主要是演示如何将onTouchEvent与draw配合起来使用。在这个基础上,可以做很多有用的程序。



(注意invalidate()这个方法。这个比较关键。加入这个方法的调用主要是为了强制View进行重画。)



view plaincopy to clipboardprint?
package com.arui;  
import android.content.Context;  
import android.graphics.Canvas;  
import android.graphics.Color;  
import android.graphics.Paint;  
import android.graphics.Path;  
import android.graphics.Paint.Style;  
import android.view.MotionEvent;  
import android.view.View;  
/** 
* Example for hand writing. 
*  
* @author http://blog.csdn.net/arui319 
* @version 2010/09/07 
*  
*/ 
public class HandwritingView extends View {  
    private Paint paint = null;  
    private Path path = null;  
    public HandwritingView(Context context) {  
        super(context);  
        path = new Path();  
        paint = new Paint();  
        paint.setColor(Color.YELLOW);  
        paint.setStyle(Style.STROKE);  
        paint.setAntiAlias(true);  
        this.setBackgroundColor(Color.BLACK);  
    }  
    @Override 
    public boolean onTouchEvent(MotionEvent event) {  
        if (event.getAction() == MotionEvent.ACTION_DOWN) {  
            int x = (int) event.getX();  
            int y = (int) event.getY();  
            path.moveTo(x, y);  
            invalidate();  
            return true;  
        } else if (event.getAction() == MotionEvent.ACTION_MOVE) {  
            int x = (int) event.getX();  
            int y = (int) event.getY();  
            path.lineTo(x, y);  
            invalidate();  
            return true;  
        }  
        return super.onTouchEvent(event);  
    }  
    @Override 
    protected void onDraw(Canvas canvas) {  
        super.onDraw(canvas);  
        if (path != null) {  
            canvas.drawPath(path, paint);  
        }  
    }  




转载:http://blog.csdn.net/arui319/archive/2010/09/08/5870651.aspx
分享到:
评论

相关推荐

    android涂鸦小例子

    "android涂鸦小例子"是一个关于如何在Android应用中实现一个简单的涂鸦功能的教程。在这个项目中,我们将探讨如何创建一个自定义的View类,使得用户可以在屏幕上进行自由绘图。 首先,我们来理解"自定义控件"的概念...

    Android例子源码对图片进行毛玻璃区块涂鸦马赛克手指涂鸦效果处理

    在这个例子中,可能使用GestureDetector监听用户的触摸事件,以便在屏幕上绘制。 - **MotionEvent**:当用户触摸屏幕时,系统会产生一系列MotionEvent,包含触摸事件的类型、坐标等信息。开发者可以根据这些信息...

    Android-用于涂鸦的自定义AndroidView

    标题提到的“Android-用于涂鸦的自定义Android View”是指开发者创建了一个专门用于用户涂鸦的自定义视图类,它允许用户在屏幕上自由绘制线条、图形,提供了类似于涂鸦板的功能。这种自定义View通常是通过继承...

    android涂鸦板

    作者之前已经在Qt平台上实现了类似的涂鸦功能,并且现在希望将其移植到Android平台上,以此来体验不同的开发环境和技术栈。 #### 二、技术要点概述 在开发过程中,主要涉及的技术点包括但不限于: - **Android开发...

    Android编程实现在Bitmap上涂鸦效果

    在Android开发中,Bitmap是用于在屏幕上显示图像的基本数据类型。在这个案例中,我们创建了一个自定义的View类`HandWrite`,它继承自`View`,并实现了在Bitmap上绘画的功能。`HandWrite`类有几个关键成员变量: 1. ...

    android涂鸦程序

    在Android平台上,开发一款涂鸦程序是一个非常基础且有趣的实践项目,这可以帮助初学者更好地理解和掌握Android游戏开发的基础知识。本教程将详细讲解如何利用Android SDK创建一个简单的涂鸦应用程序。 首先,我们...

    Android 开发实例简单涂鸦板

    在Android平台上,开发一个简单的涂鸦板应用是一个有趣且实用的学习项目,可以帮助开发者熟悉图形绘制、触摸事件处理以及用户界面设计。在这个实例中,我们将深入探讨如何创建这样一个涂鸦板应用。 首先,我们需要...

    随手涂鸦 画板

    在这个“随手涂鸦”的例子中,我们主要关注Activity,它是用户与应用交互的主要入口。在这里,我们将创建一个主Activity,用作画板界面。 Canvas是Android图形系统中的核心元素,它相当于一个画布,允许开发者在其...

    Android Canvas绘图Demo

    在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具,它是Android Graphics系统的一部分。Canvas类提供了各种方法,让我们能够绘制线条、形状、文本以及位图等。本篇将深入探讨`Android Canvas绘图`的相关...

    Android例子源码ClipPicture(仿微信截图相似度99%)

    【Android例子源码ClipPicture——深度解析仿微信截图技术】 在Android开发中,实现类似微信的截图功能是一项常见的需求,而“ClipPicture”项目正是一个实现了这一功能的优秀示例,其模仿微信截图的相似度高达99%...

    对图片进行毛玻璃区块涂鸦马赛克手指涂鸦效果处理

    在Android平台上实现“图片毛玻璃区块涂鸦马赛克手指涂鸦效果处理”涉及多个关键知识点,主要包括图像处理、手势识别、像素操作以及UI设计。接下来,我们将详细探讨这些技术领域。 1. 图像处理: - 图片加载:首先...

    简单的Android画笔Demo

    在Android开发中,"简单的Android画笔Demo"通常是指一个用于教学或实验目的的应用程序,它允许用户在屏幕上自由绘制并提供一些基本的功能,如撤销、改变画笔颜色和宽度。这个Demo是学习Android图形绘制和交互式UI...

    yaya_java_mine7ya_

    在压缩包内的“Android例子源码对图片进行毛玻璃区块涂鸦马赛克手指涂鸦效果处理”文件中,我们可以找到实现这些功能的具体代码。这些源码可能会包含多个类,比如Activity用于处理用户交互,Service用于后台处理大图...

Global site tag (gtag.js) - Google Analytics