为了测试一些别的算法,建立一个简单的涂鸦工程。

1. clipse建立一个android工程



按提示生成android工程,会生成一个的android文件,如下:

package com.mystroke;import android.app.Activity;import android.os.Bundle;public class MystrokeActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    }}

2. 添加利用view来进行涂鸦的代码

在src下new一个class, 类命取为HandwritingView,生成一个空的类,如下:


在HandwritingView里添加代码如下(代码来源于http://blog.csdn.net/arui319/article/details/5870651):

package com.mystroke;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);          }      }  }  
修改文件MystrokeActivity.java如下:

package com.mystroke;import android.app.Activity;import android.os.Bundle;public class MystrokeActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //setContentView(R.layout.main);        setContentView(new HandwritingView(this));    }}
跑工程,完成。



更多相关文章

  1. android 谷歌地图准备
  2. 【Android(安卓)应用开发】Ubuntu 下 Android(安卓)Studio 开发
  3. Android设置支持多种分辨率
  4. Android中VectorDrawableCompat的使用注意事项
  5. android命令详解
  6. 【Android(安卓)安装包优化】Android(安卓)中使用 SVG 图片 ( An
  7. Android开发学习路线图
  8. Android关于分屏的知识总结
  9. 学习培训Android软件工程师之不归路

随机推荐

  1. Google发布App开发准则 为自主Android平
  2. Android(安卓)实用工具Hierarchy Viewer
  3. Android开发指南 ──应用程序基础
  4. 我是如何自学Android,资料分享(2015 版)
  5. Android(安卓)mvp 架构的自述
  6. Android(安卓)实用工具Hierarchy Viewer
  7. Android实现带箭头的自定义Progressbar
  8. 想抢先体验Android操作系统的魅力吗?那就
  9. 【Android的从零单排开发日记】之入门篇(
  10. 从源码角度分析Android中UID与GID的分配