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

1. clipse建立一个android工程

建立一个简单的android涂鸦工程_第1张图片


按提示生成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 5.1源代码与Nexus设备工厂镜像下载
  3. Android 自音乐播放器源代码
  4. 学习培训Android软件工程师之不归路
  5. 如何一个android工程作为另外一个android工程的lib
  6. Android Jni代码示例讲解
  7. Android 多线程之synchronized锁住的是代码还是对象(二)
  8. Android有用代码片断(五)
  9. Android Wi-Fi EAP-SIM代码解析

随机推荐

  1. 转:解决Matcher ANR
  2. Android(安卓)自定义RatingBar评分控件
  3. Android带删除按钮的ListView
  4. android TextView 丰富多彩的字体样式代
  5. android读取手机sd卡单个图片,绝对路径
  6. OpenFrameworks x kinect x Android
  7. 【Android】时间与日期Widget(DatePicker
  8. android ui 更新 示例
  9. OpenGL ES Tutorial for Android(安卓)–
  10. LeakCanary - Android内存检测工具