基于安卓的记事本毕业论文(android开发中如何实现手写输入的记事本)

1.android开发中如何实现手写输入的记事本

实现手写功能的主要步骤:1. 自定义两个View,一个是TouchView,用于在上面画图,另一个是EditText,用于将手写的字显示在其中,并且,要将两个自定义View通过FrameLayout帧式布局重叠在起,以实现全屏手写的功能。

2 在TouchView中实现写字,并截取画布中的字以Bitmap保存。3. 设置定时器,利用handle更新界面。

下面是实现的细节:1. 手写的界面设计:如上图所示,和上节的画板界面一致,底部分选项菜单栏,有5个选项,分别是调整画笔大小,画笔颜色,撤销,恢复,以及清空,对于这些功能,之后几节再实现。布局文件activity_handwrite.xml 可以看出,里面有两个自定义view,并且通过FrameLayout重叠在一起。

先来看com.example.notes.LineEditText,这个其实和添加记事中的界面一样,就是自定义EditText,并且在字的下面画一条线。LineEditText.javapublic class LineEditText extends EditText { private Rect mRect; private Paint mPaint; public LineEditText(Context context, AttributeSet attrs) { // TODO Auto-generated constructor stub super(context,attrs); mRect = new Rect(); mPaint = new Paint(); mPaint.setColor(Color.GRAY); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //得到EditText的总行数 int lineCount = getLineCount(); Rect r = mRect; Paint p = mPaint; //为每一行设置格式 for(int i = 0; i < lineCount;i++){ //取得每一行的基准Y坐标,并将每一行的界限值写到r中 int baseline = getLineBounds(i, r); //设置每一行的文字带下划线 canvas.drawLine(r.left, baseline+20, r.right, baseline+20, p); } }}另一个就是com.example.notes.TouchView,实现了绘制,及定时更新界面的功能,具体看代码TouchView.javapublic class TouchView extends View { private Bitmap mBitmap,myBitmap; private Canvas mCanvas; private Path mPath; private Paint mBitmapPaint; private Paint mPaint; private Handler bitmapHandler; GetCutBitmapLocation getCutBitmapLocation; private Timer timer; DisplayMetrics dm; private int w,h; public TouchView(Context context) { super(context); dm = new DisplayMetrics(); ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(dm); w = dm.widthPixels; h = dm.heightPixels; initPaint(); } public TouchView(Context context, AttributeSet attrs) { super(context,attrs); dm = new DisplayMetrics(); ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(dm); w = dm.widthPixels; h = dm.heightPixels; initPaint(); } //设置handler public void setHandler(Handler mBitmapHandler){ bitmapHandler = mBitmapHandler; } //初始化画笔,画布 private void initPaint(){ mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setDither(true); mPaint.setColor(0xFF00FF00); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStrokeCap(Paint.Cap.ROUND); mPaint.setStrokeWidth(15); getCutBitmapLocation = new GetCutBitmapLocation(); //画布大小 mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); mCanvas = new Canvas(mBitmap); //所有mCanvas画的东西都被保存在了mBitmap中 mCanvas.drawColor(Color.TRANSPARENT); mPath = new Path(); mBitmapPaint = new Paint(Paint.DITHER_FLAG); timer = new Timer(true); } /** * 处理屏幕显示 */ Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: myBitmap = getCutBitmap(mBitmap); Message message = new Message(); message.what=1; Bundle bundle = new Bundle();; bundle.putParcelable(bitmap,myBitmap); message.setData(bundle); bitmapHandler.sendMessage(message); RefershBitmap(); break; } super.handleMessage(msg); } }; /** * 发送消息给handler更新ACTIVITY */ TimerTask task = new TimerTask() { public void run() { Message message = new Message(); message.what=1; Log.i(线程, 来了); handler.sendMessage(message); } }; //切割画布中的字并返回 public Bitmap getCutBitmap(Bitmap mBitmap){ //得到手写字的四周位置,并向外延伸10px float cutLeft = getCutBitmapLocation.getCutLeft() - 10; float cutTop = getCutBitmapLocation.getCutTop() - 10; float cutRight = getCutBitmapLocation.getCutRight() + 10; float cutBottom = getCutBitmapLocation.getCutBottom() + 10; cutLeft = (0 > cutLeft ? 0 : cutLeft); cutT。

基于安卓的记事本毕业论文

转载请注明出处众文网 » 基于安卓的记事本毕业论文(android开发中如何实现手写输入的记事本)

资讯

运作方案毕业论文模板(我的职业规划论文格式怎么写)

阅读(78)

本文主要为您介绍运作方案毕业论文模板,内容包括我的职业规划论文格式怎么写,毕业论文格式,毕业论文格式?。一.***大学毕业后的十年规划 (2005年-2015年,20岁至30岁) 美好愿望:事业有成,家庭幸福 方 向:企业高级管理人员 总体

资讯

基于单片机的信号灯毕业论文(单片机控制交通灯的毕业论文?)

阅读(93)

本文主要为您介绍基于单片机的信号灯毕业论文,内容包括单片机控制交通灯的毕业论文?,单片机交通灯设计论文,MSC51单片机交通灯论文。单片机控制交通灯设计方案 摘要:十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。靠的就是交通信号灯

资讯

英语专业毕业论文调查报告选题(英语专业毕业论文选题)

阅读(107)

本文主要为您介绍英语专业毕业论文调查报告选题,内容包括英语专业毕业论文选题,英语专业的论文选题,英语专业毕业论文选题。我才写完毕业论文,简直是折磨!我把我们系的题目给你,参考看看吧。我写的是文化类的。其实文学和文化类要比翻译和教育

资讯

教育培训社会实践报告毕业论文(关于教育的社会实践报告)

阅读(92)

本文主要为您介绍教育培训社会实践报告毕业论文,内容包括关于教育的社会实践报告,求一篇大学生暑期当小学义务教师的社会实践论文!5000字,暑期实践论文求国际贸易大学生暑期社会实践论文国际贸易专业大学。社会实践调查报告 给大学新生计算

资讯

毕业论文字数包括什么(本科毕业论文字数包括标点符号吗?)

阅读(79)

本文主要为您介绍毕业论文字数包括什么,内容包括毕业论文字数包括什么呢?是指正文还是包括摘要(中英文)、前言等,论文字数包括摘要和参考文献吗,本科毕业论文字数包括标点符号吗?。本科毕业论文的字数是包括标点符号的。毕业论文中的标点符

资讯

物联网技术毕业论文题目(物联网相关的毕业设计题目有哪些?)

阅读(82)

本文主要为您介绍物联网技术毕业论文题目,内容包括物联网相关的毕业设计题目?,有什么物联网相关的毕业设计题目,希望集思广益,物联网工程毕业设计题目要求软硬件结合,难度适中,实在不懂做什。比较常见的是智能家居,温室大棚,路灯上的应用,远程

资讯

北斗定位接收机毕业论文(gps开发)

阅读(74)

本文主要为您介绍北斗定位接收机毕业论文,内容包括gps开发GPS定位系统论文需要一篇GPS定位系统开发论文,北斗征文800字,有关北斗导航的征文。诠释GPS定位系统应用 定位系统,可能是某些人从小到大一直有的构想。「 啊!它到底放在哪里? 」相信这

资讯

图论矩阵毕业论文(英文摘要翻译)

阅读(90)

本文主要为您介绍图论矩阵毕业论文,内容包括英文摘要翻译最近在写毕业论文,,图论中用矩阵表示简单图,复杂图怎么表示,分块矩阵的应用论文。Since the 1990s, the worlds foreign investment is rapidly growing, i

资讯

证据法本科毕业论文题目(证据法论文参考题目)

阅读(67)

本文主要为您介绍证据法本科毕业论文题目,内容包括证据法论文参考题目,法学毕业论文题目法学专业毕业论文选题请大家帮忙提供几个侵权法,法学毕业论文怎样选题。去百度文库,查看完整内容>内容来自用户:小鸡蛋爱栗子以下题目仅供参考,也可以重

资讯

运作方案毕业论文模板(我的职业规划论文格式怎么写)

阅读(78)

本文主要为您介绍运作方案毕业论文模板,内容包括我的职业规划论文格式怎么写,毕业论文格式,毕业论文格式?。一.***大学毕业后的十年规划 (2005年-2015年,20岁至30岁) 美好愿望:事业有成,家庭幸福 方 向:企业高级管理人员 总体

资讯

基于单片机的信号灯毕业论文(单片机控制交通灯的毕业论文?)

阅读(93)

本文主要为您介绍基于单片机的信号灯毕业论文,内容包括单片机控制交通灯的毕业论文?,单片机交通灯设计论文,MSC51单片机交通灯论文。单片机控制交通灯设计方案 摘要:十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。靠的就是交通信号灯

资讯

英语专业毕业论文调查报告选题(英语专业毕业论文选题)

阅读(107)

本文主要为您介绍英语专业毕业论文调查报告选题,内容包括英语专业毕业论文选题,英语专业的论文选题,英语专业毕业论文选题。我才写完毕业论文,简直是折磨!我把我们系的题目给你,参考看看吧。我写的是文化类的。其实文学和文化类要比翻译和教育

资讯

教育培训社会实践报告毕业论文(关于教育的社会实践报告)

阅读(92)

本文主要为您介绍教育培训社会实践报告毕业论文,内容包括关于教育的社会实践报告,求一篇大学生暑期当小学义务教师的社会实践论文!5000字,暑期实践论文求国际贸易大学生暑期社会实践论文国际贸易专业大学。社会实践调查报告 给大学新生计算

资讯

毕业论文字数包括什么(本科毕业论文字数包括标点符号吗?)

阅读(79)

本文主要为您介绍毕业论文字数包括什么,内容包括毕业论文字数包括什么呢?是指正文还是包括摘要(中英文)、前言等,论文字数包括摘要和参考文献吗,本科毕业论文字数包括标点符号吗?。本科毕业论文的字数是包括标点符号的。毕业论文中的标点符

资讯

物联网技术毕业论文题目(物联网相关的毕业设计题目有哪些?)

阅读(82)

本文主要为您介绍物联网技术毕业论文题目,内容包括物联网相关的毕业设计题目?,有什么物联网相关的毕业设计题目,希望集思广益,物联网工程毕业设计题目要求软硬件结合,难度适中,实在不懂做什。比较常见的是智能家居,温室大棚,路灯上的应用,远程

资讯

北斗定位接收机毕业论文(gps开发)

阅读(74)

本文主要为您介绍北斗定位接收机毕业论文,内容包括gps开发GPS定位系统论文需要一篇GPS定位系统开发论文,北斗征文800字,有关北斗导航的征文。诠释GPS定位系统应用 定位系统,可能是某些人从小到大一直有的构想。「 啊!它到底放在哪里? 」相信这

资讯

本科毕业论文能吗(怎么在知网上搜本科的论文)

阅读(92)

本文主要为您介绍本科毕业论文能吗,内容包括大学毕业论文可不可以直接在网上下或网上搜啊?我是计算机专业的谢,请教大家哪里可以下载法学本科毕业论文??,怎么在网上下载论文哦。知网是不收录本科论文的,但你写本科论文可以在上面找参考文献,