小工具知识网

当前位置: 首页 > 行业知识 > 【Android 需求方案实现】 在屏幕上画一条线的时候,如何把这条线经过的所有坐标点(高效&有序&完整)地发送出去?

行业知识

【Android 需求方案实现】 在屏幕上画一条线的时候,如何把这条线经过的所有坐标点(高效&有序&完整)地发送出去?

2026-10-29 04:51:00 来源:互联网转载

文章目录

  • 需求背景
  • 定义接口,获取down和move事件获取到的坐标信息
  • 获取触摸事件MotionEvent
  • 对拿到的x、y坐标进行处理
  • 发送实时坐标点
  • 算法实现:把虚线通过补偿算法填充为实线
  • 完成

需求背景

买东西付���的时候,或者银行一些业务办理的时候,我们常常需要签名。目前大多数场景都是电子签名。
我们需要拿到当前用户签名的轨迹,然后把签名的轨迹实时的发送到另外一台机器上。从而让工作人员实时看到对方签名的实况。
那么这个业务怎么实现呢?

()

过来看看实现它的完整思路!

定义接口,获取down和move事件获取到的坐标信息

/** * 监听签名坐标 */public interface ICoordinatesListener {       /**      * click down的坐标     */    void getDownCoordinates(int x, int y);    /**     * touch move的坐标     */    void getCoordinates(int x,int y);}

获取触摸事件MotionEvent

获取触摸事件,这是很自然的做法,把触摸事件的拿到的坐标点传递进到我们定义的接口中来。
对应的系统方法是,下面是伪代码,可以根据你项目实际需求进行更精细的控制:

()
@Override    public boolean onTouchEvent(MotionEvent event) {       if(down){        getDownCoordinates(int x, int y)    }    if(move){    getCoordinates(int x,int y);}    }

需要注意的是,由于不同屏幕有不同的像素密度和尺寸,实际上获取到的x,y轴的坐标点可能会和你画板绘制时候拿到的view的宽高对不上,需要进行一定的转换。

对拿到的x、y坐标进行处理

我们实现接口的匿名内部类,作为监听器传递到画板View中去。当onTouchEvent来数据的时候,我们并可以拿到坐标信息。

可以脑海里想象一下,当我们画一条线,是不是一定有先点击,就是down的动作,然后我们手指移动,就是move的动作。

我们在代码中,先记录down的坐标点,

  /**     * 获取当前点击down的坐标     */    public void setTouchDownCoordinate(int touchDownX, 

上一篇:电脑广播服务器怎么设置?

下一篇:域名怎么加cdn