建立一个简单的android涂鸦工程
16lz
2021-12-04
为了测试一些别的算法,建立一个简单的涂鸦工程。
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)); }}
跑工程,完成。
更多相关文章
- android 谷歌地图准备
- 【Android(安卓)应用开发】Ubuntu 下 Android(安卓)Studio 开发
- Android设置支持多种分辨率
- Android中VectorDrawableCompat的使用注意事项
- android命令详解
- 【Android(安卓)安装包优化】Android(安卓)中使用 SVG 图片 ( An
- Android开发学习路线图
- Android关于分屏的知识总结
- 学习培训Android软件工程师之不归路