android项目 之 记事本(7)----- 手写功能之删除、恢复和清空

安卓开发-手绘板自定义绘画的保存,清空与恢复 写这篇文章是因为代码中刚实现过这些功能,害怕自己之后会忘记,所以把整个方法写出来,方便自己日后复习用。 还是老样子,先上图: 1.首页 2.点击手绘板图片后跳出的窗口 3.用手指进行绘制 4.点击保存按钮 原理什么的就不说了,直接上代码: 1.MainActivity import androidx.appcompat.app.AppCompatActivity; import android.graphics.Bitmap; import android.graphic 阅读详情

          上一节,为记事本添加了手写的功能,但是没有实现底部按钮的各种功能,这节就先实现撤销,恢复和清空的功用。

          因为不会录制屏幕成gif图片,所以就以图片形式给出吧,不是很形象,凑合着看:

         

         

         

             

              显然,需要为底部GridView的添加item单击事件:

	private GridView paint_bottomMenu;
	paint_bottomMenu = (GridView)findViewById(R.id.paintBottomMenu);
	paint_bottomMenu.setOnItemClickListener(new MenuClickEvent());

              下面就是在监听器中实现具体的功能:

               1.删除功能

                     1)取得最后一个字的位置

                     2)将第0个到倒数第二个位置的所有内容设置为自定义editText的内容,间接实现删除最后一个字的功能

                     3)更新最后一个字的位置为删除后的最后一个字的位置

                     3)将删除的字存储在列表中(其实存储在栈中更好,因为是先进后出),用于恢复。

            代码如下:

 	 private ArrayList<CharSequence> deleteChar = new ArrayList<CharSequence>();
	//删除
	case 2:
		Editable editable = et_handwrite.getText();
		//找到最后一个手写字,并删除最后一个手写字
		int selectionEnd = et_handwrite.getSelectionEnd();
	  	System.out.println("end = "+ selectionEnd);
	  	if(selectionEnd < 1){
	  		et_handwrite.setText("");
	  	}
	  	else if(selectionEnd == 1){
	  		et_handwrite.setText("");
	  		CharSequence deleteCharSeq = editable.subSequence(0,1);
	  		deleteChar.add(deleteCharSeq);
	  	}
	  	else{
	  		System.out.println("delete");
	  		CharSequence charSeq = editable.subSequence(0, selectionEnd - 1);
	  		CharSequence deleteCharSeq = editable.subSequence(selectionEnd - 1,selectionEnd);
	  		et_handwrite.setText(charSeq);
	  		et_handwrite.setSelection(selectionEnd - 1);
	  		//将删除的字存储到列表中,以便恢复使用
	  		deleteChar.add(deleteCharSeq);
	  	}
		break;


             2. 恢复功能:

                   1)取出删除列表中的最后一个元素

                   2)将取出的元素添加在自定义editText的末尾

                   3)从删除列表中删掉最后一个元素

	//恢复 
	  case 3:
	  	//取出删除列表中的元素
	  	int length = deleteChar.size();
	  	if(length > 0){
	  		et_handwrite.append(deleteChar.get(deleteChar.size()-1));
	  		deleteChar.remove(deleteChar.size()-1);
	  	}
	  				
	  	break;

           

               3.清空功能:
                         1)创建Dialog,弹出是否删除提示

                         2)为Dialog添加PositiveButton和setNegativeButton

                         3)在PositiveButton单击事件中,设置自定义editText的内容为空

//清空屏幕 
	case 4 :
	  				
	if(et_handwrite.getSelectionEnd() > 0){
	  	AlertDialog.Builder builder = new Builder(HandWriteActivity.this);
		builder.setTitle("您确定要清空所有吗?");
		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
							
			@Override
			public void onClick(DialogInterface dialog, int which) {
				et_handwrite.setText("");
					dialog.cancel();
			}
		});
		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
							
			@Override
				public void onClick(DialogInterface dialog, int which) {
					dialog.cancel();
				}
		});
		Dialog dialog = builder.create();
		dialog.show();
	}
	break;


           这样,手写的三个基本功能就已实现,对于设置画笔的粗细和颜色,以后再做。

             

            

           

适合新手的简单记事本项目Android应用源码 立即下载

相关推荐

自己编写的Android记事本APP软件

自己使用ADT编写的一个简单的Android手机记事本的app,界面虽然简单,但都是一行一行代码码出来的

手写功能,撤回上一步,清空,保存 功能

package com.example.handwriting; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import android.content.Context; import android.graphics.Bitmap; import android.

devin的专栏 4272

Android的简单记事本实现

这个例子主要涉及到了以下一些知识点:ListView,自定义Adapter、SQLiteDatabase,并且对menu做了简单处理。

Android:自定义View实现签名带笔锋效果

自定义签名工具相信大家都轻车熟路,通过监听屏幕onTouchEvent事件,分别在按下(ACTION_DOWN)、抬起(ACTION_UP)、移动(ACTION_MOVE) 动作中处理触碰点的收集和绘制,很容易就达到了手签笔的效果。其中无非又涉及到线条的撤回、取消、清除、画笔的粗细,也就是对收集的点集合和线集合的增删操作以及画笔颜色宽的的更改。这些功能都在 实现一个自定义有限制区域的图例(角度自识...

Android技术之家 1323

Android期末大作业记事本

Android记事本,采用SQLite数据库,实现闪屏页面,基于Android studio平台.

android 提醒、记事本源代码绝对能用可以添加删除修改多项。

android 提醒、记事本源代码绝对能用可以添加删除修改多项。

android项目 之 记事本(8) ----- 画板功能之撤销、恢复和清空

实现画板(涂鸦)的撤销 恢复 清空 保存为图片等功能

jesson20121020的专栏 7458

C语言练习题:据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?

题目内容: 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……) 输入格式: 输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。 输出格式: 在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。 输入样例: 169 输出样例: 124.2 代码如下: #include<stdio.h> int main() { i

weixin_44877226的博客 2万+

【Android 自定义 View】-->Android 手签板

前言 Android 屏幕手写签名的原理就是把手机屏幕当作画板,把用户手指当作画笔,手指在屏幕上在屏幕上划来划去,屏幕就会显示手指的移动轨迹,就像画笔在画板上写字一样。实现手写签名需要结合绘图的路径工具 Path ,在有按下动作时调用 Path 对象的 moveTo 方法,将路径起始点移动到触摸点;在有移动操作时调用 Path 对象的 quadTo 方法,将记录本次触摸点与上次触摸点之间的路径;在有移动操作与提起动作时调用 Canvas 对象的 drawPath 方法,将本次触摸绘制在画布上。 效果图 .

Kevin Learn Android 2491

ZYNQ烧写程序到flash

1.打开SDK创建FBSl项目 点击finish 2.创建BootImage 导入fsbl.elf、.bin、.elf三个文件,Create Image 生成BOOT.bin文件 3.将BOOT文件烧录到FLASH image File选择2中生成的BOOT.bin文件,FSBL File选择fsbl.elf文件,连接好ZYNQ的Jtag,点击Program,即可烧录。 4.烧录程序到FLASH失败 如果是第一次烧录,需更改创建的fsbl工程下的main函数,在如下代码处加入BootModeRegi

qq_40603614的博客 8353

成本会计(第九版)王忠孝课后习题答案解析

在掌握了基础知识之后,我们还需要培养自己的实际操作能力。此外,在学习过程中,遇到困难时,要及时向老师、同学请教,不要害怕暴露自己的不足。三人行,必有我师,每个人都有值得学习的地方。首先,我们需要认真阅读教材,把基础知识掌握牢固。在这里,我建议大家使用《成本会计(第九版)》的配套练习册,这样可以帮助我们检查学习效果。同时,网上的一些优质课程和论坛也是不错的学习资源,例如网易云课堂、中国大学MOOC等。别担心,这里我给大家推荐一些实用的学习资料和方法,帮助你更好地掌握这门课程。出版社: 大连理工大学出版社。

weixin_58833001的博客 1888

android记事本全选删除,android项目 之 记事本(7)----- 手写功能之删除、恢复和清空...

上一节,为记事本添加了手写的功能,但是没有实现底部按钮的各种功能,这节就先实现撤销,恢复和清空的功用。因为不会录制屏幕成gif图片,所以就以图片形式给出吧,不是很形象,凑合着看:显然,需要为底部GridView的添加item单击事件:private GridView paint_bottomMenu;paint_bottomMenu = (GridView)findViewById(R.id.pa...

weixin_42509708的博客 620

【backtrader保姆级教学】投资组合回测

method1:探索投资组合的最有方案,使用蒙特卡洛模拟Markowitz模型。# 提取最小波动组合对应的权重, 并转换成Numpy数组。# 绘制收益-标准差的散点图,并用颜色描绘夏普比率。# 在收益-风险散点图中突出风险最小的点。:param any_day: 任意日期。# 将该点坐标显示在图中并保留四位小数。password = “替换密码”# 找到标准差最小数据的索引值。user = “替换账号”# 计算GMV投资组合收益。# 计算每项资产的夏普比率。# 设置无风险回报率为0。

weixin_38132951的博客 2315

android记事本全选删除,android项目 之 记事本(7)----- 手写功能之删除、恢复和清空...

上一节,为记事本添加了手写的功能,但是没有实现底部按钮的各种功能,这节就先实现撤销,恢复和清空的功用。因为不会录制屏幕成gif图片,所以就以图片形式给出吧,不是很形象,凑合着看: 显然,需要为底部GridView的添加item单击事件:private GridView paint_bottomMenu;paint_bottomMenu = (GridView)findViewById(R.id...

weixin_39670849的博客 325

SAP中错记虚拟利润中心的调整,冲销处理实例

我非CO专业顾问。工作中遇到的问题,也会找资料,分析,测试。有时这个过程会拿到结果,解决问题。遂将过程记录下来备查。读者请谨慎参考!EC-PCA: 利润中心记账流程_9ke0-优快云博客。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 1796

【脑电信号】脑电信号EEG形态学滤波处理【含Matlab源码 4023期】

脑电信号EEG形态学滤波处理 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 823

手机相册回收站清空了怎么恢复?如何找回删除的照片?3个实用技巧

我们经常会不小心删除了一些重要的照片,而手机的回收站功能似乎也无法挽回这一失误。这种时候,回收站清空了怎么恢复照片呢?今天我们将分享3个实用的技巧,帮助你从安卓手机中恢复已删除的图片。

shu_ju_wa的博客 1万+

YOLOv11改进 | 检测头篇 | 利用AFPN辅助YOLOv11检测头进行特征融合识别(全网独家创新)

本文给大家带来的最新改进机制是利用AFPN(渐近特征金字塔网络)来优化检测头,AFPN的核心思想是通过引入一种渐近的特征融合策略,将底层、高层和顶层的特征逐渐整合到目标检测过程中。这种渐近融合方式有助于减小不同层次特征之间的语义差距,提高特征融合效果,使得检测模型能更好地适应不同层次的语义信息。本文在AFPN的结构基础上,为了适配YOLOv11改进AFPN结构,同时将AFPN融合到YOLOv11中(因为AFPN需要四个检测头,我们只有三个,下一篇文章我会出YOLOv11适配AFPN增加小目标检测头)

Snu77的博客 3751

Android 备忘录删除功能,手机备忘录误删怎么恢复?这几个方法苹果、安卓都适用...

手机备忘录怎么恢复?苹果用户肯定说很轻松,我手机上有很多备份功能,可以恢复。最难恢复的就是安卓用户了,对于备忘录的恢复真的是束手无策,小编今天就帮助安卓用户找到了一种专业的恢复方法,可以分分钟恢复。备忘录在日常生活中对大家很重要,上面会记录一些重要的事情,万一删除了影响到工作和生活,所以马上恢复才可以。小编就按照苹果用户和安卓用户分类说一下恢复方法。苹果用户恢复方法:方法一、摇动撤销法苹果手机在编...

weixin_34933151的博客 6934

物联网通信中NB-IoT、Cat.1、LTE-M该如何选择?

首先我们要确定我们产品的关键需求,例如:我们的设备是否对数据传输速率有较高的要求,有较高要求我们就需要选择较高传输速率的Cat.1来开发我们的产品。同时关于产品性能方面,我们对功耗、延迟、可靠性也会有所要求,例如我们的产品为移动端产品,不方便布线以及安装电源,那我们就会采用电池供电的方式,所以在选择时可以优先考虑低功耗产品,最终结合其他需求选择出合适的协议。首先,我们需求的产品是不同的,我们需要根据产品需求或项目需求来进行选择,NB-IoT、Cat.1、Cat.M都有属于自己的优势。

a1809032425的博客 1216

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

手机怎么恢复回收站清空的照片?2个技巧大公开(适用各类安卓机)

正在整理手机相册的你,误触了某个按钮,导致回收站数据全无。这时,不由地发出呐喊:怎么恢复回收站删除的照片?别着急,文章将为你介绍2个简单的方法。这些技巧不仅容易操作,而且效果显著,赶快来试试吧!

shu_ju_wa的博客 2352

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android 缓存文件怎么恢复,如何恢复安卓手机内置存储中已删除的文件

您可能感兴趣的话题:安卓手机核心提示:想必大家在平常使用可存储设备(包括电脑、手机、U盘、移动硬盘等等)都会有遇到这种情况:不小心删除(包括直接删除、清空回收站、格式化、重新分区等)了一些存储中的重要数据,但是苦于不懂数据恢复,在外面去恢复动不动就收费几百上千甚至上万元。在开始之前先介绍一些数据恢复方面的基础知识:想必大家在平常使用可存储设备(包括电脑、手机、U盘、移动硬盘等等)都会有遇到这种情况...

weixin_32760485的博客 2749

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

短信清空了!华为手机短信删除了怎么恢复?

清除垃圾短信的时候,把重要短信也误删了,该怎么办?华为手机短信删除了怎么恢复?其实,只需要简单的三个方法,就可以帮助你轻松恢复删除的短信,点击文章看看吧!

shu_ju_wa的博客 5917

android文件恢复功能,安卓设备内置存储中已删除的文件如何恢复

在开始之前先介绍一些数据恢复方面的基础知识:想必大家在平常使用可存储设备(包括电脑、手机、U盘、移动硬盘等等)都会有遇到这种情况:不小心删除(包括直接删除、清空回收站、格式化、重新分区等)了一些存储中的重要数据,但是苦于不懂数据恢复,在外面去恢复动不动就收费几百上千甚至上万元,要是财力允许还好,否则就只能悔不当初。好的话自己还可以再把之前删除的东西重新做一遍,只是多花点时间而已,但是实际上多数时候...

weixin_39589511的博客 1697

手机怎么恢复回收站清空的照片?这里有找回相册的3个重要指南

不小心清空了回收站,却发现有些重要照片被一并删除了?当需要恢复回收站清空的照片时,了解如何找回丢失的数据至关重要。本文将介绍恢复照片的3个重要指南,帮助您快速找回照片,尽可能地减少损失。

shu_ju_wa的博客 2919

手机android的文件怎么恢复,如何恢复安卓手机内置存储中已删除的文件

您可能感兴趣的话题:安卓手机核心提示:想必大家在平常使用可存储设备(包括电脑、手机、U盘、移动硬盘等等)都会有遇到这种情况:不小心删除(包括直接删除、清空回收站、格式化、重新分区等)了一些存储中的重要数据,但是苦于不懂数据恢复,在外面去恢复动不动就收费几百上千甚至上万元。8.关闭命令行窗口。打开“我的电脑”->“C:” ->“Cygwin”->运行“Cygwin.bat”打开“C...

weixin_39851809的博客 1691
上一篇: android项目 之 记事本(6)----- 添加手写
下一篇: 数据结构(C实现)------- 双向链表
jesson20121020
博客等级 码龄15年 361粉丝 99原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值