android之简易绘图板
来源:互联网 发布:南京银行上海分行知乎 编辑:程序博客网 时间:2024/05/22 03:12
最近时间比较多,开始学一些android程序。写得不好请多多包涵哈。
这个程序也是参照了网上的一些代码写出来的,并加以简化。
因为程序比较简单,暂时没使用双缓冲技术。实测效果还不错
程序说明:
Canvas -- 相当于画布,图片的所有内容都显示在上面
Paint -- 相当于画笔,本程序设计的画笔是:红色,粗细为5
Path -- 相当于画图的路径
程序代码:
main.xml:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.example.testandroid.DrawView android:id="@+id/draw_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /> <Button android:id="@+id/btn_clear" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:onClick="btn_clear" android:text="@string/btn_clear" /></RelativeLayout>
MainActivity.java:
package com.example.testandroid;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void btn_clear(View v) {DrawView draw_view = (DrawView) findViewById (R.id.draw_view);draw_view.clear();}}
DrawView.java:
package com.example.testandroid;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;public class DrawView extends View {private Paint paint;private Path path;public DrawView(Context context, AttributeSet set) {super(context, set);// 创建画笔paint = new Paint();// 画笔颜色paint.setColor(Color.RED);// 画笔粗细paint.setStrokeWidth(5);// 抗锯齿paint.setAntiAlias(true);// 描边,不填充 <span style="white-space:pre"></span>paint.setStyle(Paint.Style.STROKE); <span style="white-space:pre"></span>// 创建path,即绘制路径path = new Path();}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);canvas.drawPath(path, paint);}@Overridepublic boolean onTouchEvent(MotionEvent event) {float currentX = event.getX();float currentY = event.getY();switch (event.getAction()) {case MotionEvent.ACTION_DOWN : {// 画线函数,移动到点(currentX, currentY)path.moveTo(currentX, currentY);break;}case MotionEvent.ACTION_MOVE : {// 画线函数,连线到点(currentX, currentY)path.lineTo(currentX, currentY);break;}case MotionEvent.ACTION_UP : {//path.reset();break;}}// 刷新界面,调用onDraw()invalidate();// true表明该事件已经处理完毕,不能返回super.onTouchEvent(event)return true;}// 清屏public void clear() {// 清除绘制路径path.reset();// 刷新界面invalidate();}}
图片就不贴了,画的比较难看哈
程序下载地址:http://download.csdn.net/detail/fzzjj2008/8403519
0 0
- android之简易绘图板
- 【Android开发】范例2-实现简易绘图板
- Java简易绘图板
- HTML5-简易Canvas绘图板
- Android绘图板
- Android基础之简单的绘图板
- html5之绘图板
- 绘图板
- 图像处理实例之绘图板
- Android初识之简易计算器
- Android 之简易涂鸦板
- XXX之android简易时钟制作说明
- android学习笔记之简易霓虹灯效果
- android学习笔记之自制简易浏览器
- Android之简易音乐播发器
- <Android 应用 之路> 简易贪吃蛇
- Android实践之简易天气(一)
- Android实践之简易天气(二)
- poj 1003 Hangover
- Android blueZ HCI(二):hcitool hcidump常用方法
- php查找文件夹下文件内容
- Spring
- Android照片墙加强版,使用ViewPager实现画廊效果
- android之简易绘图板
- tween.js可生成平滑动画效果的js动画库
- ios开发之常用代码
- StringUtils中isEmpty 和isBlank的区别
- C语言及程序设计初步例程-13 数值型数据的存储原理
- 用plyr包扩展apply族函数的功能
- 演讲上位:总统告诉你表达的力量
- cocos2dx中的action动作类
- IOS检测版本更新