Android实现画板、写字板功能(附源码下载)
发布时间 - 2026-01-10 22:46:56 点击率:次前言

本文给大家分享一个使用Android开发写字板功能Dem、简单操作内存中的图像、对图像进行简单的处理、绘制直线、以达到写字板的效果
效果图如下
XML布局代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.tomes.paint.MainActivity" > <ImageView android:id="@ id/iv_drawingBoard" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/bg"/> </RelativeLayout>
Java代码
public void init() {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.bg);
copyBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
paint = new Paint();
canvas = new Canvas(copyBitmap);
Matrix matrix=new Matrix();
canvas.drawBitmap(bitmap, matrix, paint);
imageView = (ImageView) findViewById(R.id.iv_drawingBoard);
imageView.setImageBitmap(copyBitmap);
imageView.setOnTouchListener(new OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
startX=event.getX();
startY=event.getY();
break;
case MotionEvent.ACTION_MOVE:
float currentX=event.getX();
float currentY=event.getY();
canvas.drawLine(startX, startY, currentX, currentY, paint);
imageView.setImageBitmap(copyBitmap);
startX=currentX;
startY=currentY;
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
});
}
源码下载:点击这里
总结
以上就是这篇文章的全部内容了,希望本文的内容对各位Android开发者们能带来一定的帮助,如果有疑问大家可以留言交流。
# android
# 画板功能实现
# 画板实现
# 写字板源码
# android实现简单的画画板实例代码
# Android自定义SurfaceView实现画板功能
# Android采用双缓冲技术实现画板
# Android画板开发之添加背景和保存画板内容为图片
# Android画板开发之橡皮擦功能
# Android实现画画板案例
# Android编程实现画板功能的方法总结【附源码下载】
# Android画板开发之撤销反撤销功能
# Android多媒体之画画板开发案例分享
# Android自定义View实现简易画板功能
# 写字板
# 点击这里
# 给大家
# 这篇文章
# 源码下载
# 以达到
# 有疑问
# paddingRight
# activity_horizontal_margin
# paddingTop
# tomes
# context
# paddingLeft
# paddingBottom
# layout_height
# match_parent
# activity_vertical_margin
# dimen
# paint
# drawable
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
详解Android图表 MPAndroidChart折线图
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
装修招标网站设计制作流程,装修招标流程?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
JavaScript如何实现路由_前端路由原理是什么
JavaScript中的标签模板是什么_它如何扩展字符串功能
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
详解MySQL数据库的安装与密码配置
实例解析angularjs的filter过滤器
nodejs redis 发布订阅机制封装实现方法及实例代码
如何在阿里云虚拟主机上快速搭建个人网站?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Android使用GridView实现日历的简单功能
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
如何有效防御Web建站篡改攻击?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
制作企业网站建设方案,怎样建设一个公司网站?
无锡营销型网站制作公司,无锡网选车牌流程?
如何快速搭建高效可靠的建站解决方案?
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
浅谈redis在项目中的应用
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
北京的网站制作公司有哪些,哪个视频网站最好?
简单实现Android验证码
浅谈Javascript中的Label语句
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel如何配置任务调度?(Cron Job示例)
*服务器网站为何频现安全漏洞?
如何确保西部建站助手FTP传输的安全性?
JS中对数组元素进行增删改移的方法总结
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何快速辨别茅台真假?关键步骤解析

