Android如何自定义有限制区域图例角度自识别涂鸦工具类(android,开发技术)

时间:2024-04-30 10:48:48 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Android%E5%A6%82%E4%BD%95%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9C%89%E9%99%90%E5%88%B6%E5%8C%BA%E5%9F%9F%E5%9B%BE%E4%BE%8B%E8%A7%92%E5%BA%A6%E8%87%AA%E8%AF%86%E5%88%AB%E6%B6%82%E9%B8%A6%E5%B7%A5%E5%85%B7%E7%B1%BB

在事件分发上ViewGroup多dispatchTouchEvent(事件分发)和onInterceptTouchEvent(事件拦截)两个方法

在继承上ViewGroup需要着重处理onmeasure(测量)与onLayout(控制位置等),而继承View重点在于onDrow(绘制)上

这篇我们就简单实现一个自定义签名类,通过手指触摸屏幕移动,显示手指滑过的路径。首先创建SignatureView并继承自View:

接下来需要做的其实就只有触摸事件处理和绘制路径两个任务了。绘制需要在onDraw中通过咱们初始化的画笔paint和canvas完成,那么触摸事件则需要重写onTouchEvent方法监听:

这里需要注意,由于签名是实时记录的,所以我们需要记录下滑动的点,将其连接成一条线,再通过pain画线。画的过程是按下移动的操作,所以在ACTION_MOVE的过程我们需要实时画线。画笔完成是抬起的动作,所以在ACTION_UP时我们需要将之前的所有点绘制在画布上。这里通过一个点的集合收集手指移动的点,用户画笔绘制。

接下来就是在onDrow()中绘制,通过canvas.drawLine:

到这里基本就结束了,但我们还需要撤回和清除的功能。这时候就需要想一想了,如果按照按下—>移动—>抬起为一笔,那么撤回的话就需要将这个过程的所有点都清除。此时我们就可以将这个过程想象成一条线,在按下时记录线的开始,抬起记录线的结束,再将这条线存放在一个集合中,如果需要撤回就将这条数据删除。

清除就更简单了,直接清空集合中的所有线条即可,但一定不要忘记刷新视图:

本文:Android如何自定义有限制区域图例角度自识别涂鸦工具类的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:JavaScript实现字符串截取的方法有哪些下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18