Android实现画板功能(一)
本文实例为大家分享了android实现画板功能的具体代码,供大家参考,具体内容如下
前言
最近看到了一些android手写相关的功能,比如说:
钉钉手写签名功能,输入法手写功能,笔记类app的手写记录功能等。最近在工作中也遇到了类似的需求,其实实现画板功能并不复杂,所以我就打算在这里简单记录一下。实现画板功能比较常用的方法有两种,一是自定义view的方式在canvas上画轨迹,另一个是在imageview上画bitmap。今天就讲一下第一种方式吧。
效果图
界面布局
代码是用kotlin写的,但是实现方法和java是一样的。新建一个自定义view类,继承自view。kotlin不需要写view的三个重载方法。只需把三个参数传给父类即可。
然后是初始化paint,path,设置画笔颜色等。
关键代码是在ontouchevent里面,这里需要获取到手指的位置。在移动手指时调用path的lineto(x,y)方法记录一下轨迹,然后调用invalidate()方法实时更新画面即可,invalidate()方法会调用ondraw方法,ondraw方法里面调用canvas的drawpath方法就可以画出手指划过的轨迹了。
清除轨迹要调用reset()方法,调用invalidate()方法。
自定义view类
mainactivity
本篇文章中介绍了自定义view的一些基础知识,适合刚学习自定义view的同学们。后面几篇文章中将会继续深入讲解android自定义view相关知识。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: PowerShell脚本性能优化技巧总结
下一篇: rudy 方法 分析
推荐阅读
-
Android 自定义LineLayout实现满屏任意拖动功能的示例代码
-
Android中再按一次退出提醒实现的两种方法
-
Android开发之选项卡功能的实现方法示例
-
android实现文件下载功能
-
android实现搜索功能并将搜索结果保存到SQLite中(实例代码)
-
不要框架,纯PHP,能实现这样的功能吗?有很多页面,有插入删除修改功能,只写一种增删改方法,其他页面也能共用这一个方法
-
在ecshop的购物流程页,商品列表加一个复选框,并实现与之相对应功能的代码,该怎么处理
-
求实现一个表单跟IFrame引用网站之间传值功能
-
Android Studio 实现九宫格功能
-
vue拦截器实现统一token,并兼容IE9验证功能