一种触屏响应方法、 装置和终端设备 【技术领域】
本发明涉及触屏技术, 特别是涉及一种触屏响应方法、 装置和终端设备。背景技术 在各种终端设备中, 例如, 在移动电话、 平板电脑、 导航仪等设备中, 触屏技术的应 用越来越广泛。 采用触屏技术, 当使用上述终端设备的用户通过手指或触笔触摸屏幕时, 触 屏根据用户的触摸做出事件响应, 从而使得用户可以通过触摸触屏的方式下达操作指令。
目前的终端设备中, 通过控件对触摸动作进行事件响应。 触摸动作包括按下动作、 释放动作和拖动动作。 现有控件采用触屏响应方法对上述三个动作进行事件响应。 具体地, 用户可以通过手指或触笔触摸触屏, 在触屏上进行点击和拖动。 在当进行点击的过程中, 手 指或触笔接触触屏的时刻对应的触摸动作为按下动作, 手指或触笔离开触屏的时刻对应的 触摸动作为释放动作。 对于按下动作和释放动作, 控件仅对其中一种动作进行事件响应, 对 另一种动作不进行事件响应, 或者, 控件对上述两个动作进行相同的事件响应, 均获得点击 事件响应。 当用户通过手指或触笔在触屏上进行拖动时, 对应的触摸动作为拖动动作, 控件 根据每一个拖动动作获得拖动事件响应。
采用上述现有的触屏响应方法, 获取的事件响应结果与用户希望下达的操作指令 存在误差, 触屏响应的正确率低。
发明内容
本发明提供了一种触屏响应方法, 采用该方法可以提高触屏响应的正确率。 本发明还提供了一种触屏响应装置, 采用该装置可以提高触屏响应的正确率。 本发明还提供了一种终端设备, 采用该终端设备可以提高触屏响应的正确率。 为达到上述目的, 本发明的技术方案是这样实现的 : 本发明公开了一种触屏响应方法, 包括 : 获取按下动作信号并记录所述按下动作信号对应的第一时间 ; 获取释放动作信号并记录所述释放动作信号对应的第二时间 ; 判断所述第二时间与所述第一时间之差是否小于或等于预设的拖动时间门限 ; 如果是, 获取释放事件响应 ; 否则, 不进行事件响应。 所述获取按下动作信号之后, 还包括 : 根据所述按下动作信号获取按下事件响应。 所述获取按下动作信号并记录所述按下动作信号对应的第一时间之后, 还包括 : 获取拖动动作信号并记录所述拖动动作信号对应的第三时间 ; 判断所述第三时间与所述第一时间之差是否大于或等于预设的拖动时间门限 ; 如果是, 获取拖动事件响应 ; 否则, 返回所述获取拖动动作信号的步骤。所述获取拖动动作信号之后, 还包括 :
获取控件的当前位置坐标以及所述拖动动作信号对应的拖动动作的起始坐标和 终止坐标 ;
根据所述终止坐标与所述起始坐标之差与所述控件的当前位置坐标的和获取控 件的目标位置坐标, 在所述目标位置显示所述控件 ;
以所述拖动动作信号对应的拖动动作的终止坐标作为下一个拖动动作的起始坐 标。
本发明还公开了一种触屏响应装置, 包括 :
第一信号获取单元, 用于获取按下动作信号 ;
第一计时单元, 用于记录所述按下动作信号对应的第一时间 ;
第二信号获取单元, 用于获取释放动作信号 ;
第二计时单元, 用于记录所述释放动作信号对应的第二时间 ;
控制单元, 用于判断所述第二时间与所述第一时间之差是否小于或等于预设的拖 动时间门限 ; 如果是, 向事件响应单元发送确认通知消息 ; 否则, 向事件响应单元发送忽略 通知消息 ;
所述事件响应单元, 用于根据所述释放动作信号和所述确认通知消息获取释放事 件响应 ; 根据所述忽略通知消息不进行事件响应。
所述事件响应单元还用于根据所述按下动作信号获取按下事件响应。
所述装置还包括 : 第三信号获取单元和第三计时单元 ;
所述第三信号获取单元, 用于获取拖动动作信号 ;
所述第三计时单元, 用于记录所述拖动动作信号对应的第三时间 ;
所述控制单元还用于判断所述第三时间与所述第一时间之差是否大于或等于预 设的拖动时间门限 ; 如果是, 向事件响应单元发送确认通知消息 ; 否则, 向第三信号获取单 元发送再次获取通知消息。
所述事件响应单元还用于根据所述拖动动作信号和所述确认通知消息获取拖动 事件响应。
所述装置还包括 :
坐标获取单元, 用于获取控件的当前位置坐标以及所述拖动动作信号对应的拖动 动作的起始坐标和终止坐标, 并以所述拖动动作信号对应的拖动动作的终止坐标作为下一 个拖动动作的起始坐标 ;
显示控制单元, 用于根据所述终止坐标与所述起始坐标之差与所述控件的当前位 置坐标的和获取控件的目标位置坐标, 在所述目标位置显示所述控件。
本发明还公开了一种终端设备, 包括 :
触屏以及如上所述的触屏响应装置。
由上述可见, 通过设置拖动时间门限并记录按下信号、 释放信号、 拖动信号的获取 时间, 在获取到释放动作信号和 / 或拖动动作信号时, 先对对该信号与按下信号的时间间 隔进行判断, 对于与按下信号的时间间隔小于或等于拖动时间门限的释放信号, 根据其获 取释放事件响应 ; 对于与按下信号的时间间隔大于或等于拖动时间门限的释放信号, 根据 其获取拖动事件响应。从而避免了对释放事件响应和拖动事件响应的误判, 提高了触屏响应的正确率。 附图说明
图 1 是本发明实施例一的触屏响应方法的流程图 ; 图 2 是本发明实施例二的触屏响应方法的流程图 ; 图 3 是本发明实施例三的触屏响应装置的结构示意图。具体实施方式
为了使本发明的目的、 技术方案和优点更加清楚, 下面结合附图和具体实施例对 本发明进行详细描述。
采用现有的触屏响应方法, 如果用户在某一次操作中, 手指或触笔接触触屏后进 行滑动, 然后离开触屏, 则根据现有的触屏响应方法, 需要对按下和 / 或释放动作进行点击 事件响应, 并且还对拖动动作进行拖动事件响应。上述事件响应结果与用户希望下发的拖 动控制指令不一致。当用户在进行拖拽操作后又进行释放操作时, 对应的释放事件响应并 不符合用户下发的操作指令。另外, 在用户进行点击操作时, 由于人工手动操作的精确度 低, 用户有可能在接触触屏后产生微小的滑动, 采用现有的触屏响应方法, 该微小的滑动会 导致拖动事件响应, 从而造成事件响应结果与用户希望下发的拖动控制指令不一致。针对 现有触屏响应方法的上述缺陷, 本发明提出一种优化的触屏响应方法和触屏响应装置以及 终端设备, 以下通过本发明实施例一至本发明实施例三进行详细说明。
图 1 是本发明实施例一的触屏响应方法的流程图。如图 1 所示, 该方法至少包括 以下过程。
步骤 101 : 获取按下动作信号并记录按下动作信号对应的第一时间。
在本步骤中, 当用户通过手指或触笔接触触屏时, 获取到按下动作信号并且记录 当前时间, 该时间即为第一时间。 具体地, 上述第一时间可以根据触屏所在终端设备的系统 时间进行记录, 记录获取按下动作信号的时刻对应的系统时间作为第一时间。
步骤 102 : 获取释放动作信号并记录释放动作信号对应的第二时间。
在本步骤中, 当用户手指或触笔离开触屏时, 获取到释放动作信号并且记录当前 时间, 该时间即为第二时间。 具体地, 第二时间与上述第一时间采用同一时间坐标系内的数 值进行记录。如果上述第一时间是根据触屏所在终端设备的系统时间进行记录了, 则第二 时间也根据触屏所在终端设备的系统时间进行记录, 即: 记录获取释放动作信号的时刻对 应的系统时间作为第二时间。
步骤 103 : 判断第二时间与第一时间之差是否小于或等于预设的拖动时间门限。 如果是, 执行步骤 104 ; 否则, 执行步骤 105。
在本步骤中, 预先设置拖动时间门限。 一种较佳的实施方式是, 拖动时间门限可以 设置为 200 毫秒。
步骤 104 : 获取释放事件响应。
在本步骤中, 当第二时间与第一时间之差小于或等于预设的拖动时间门限时, 将 此次释放动作判定为一次独立的释放动作, 因此获取释放事件响应。
步骤 105 : 不进行事件响应。在本步骤中, 当第二时间与第一时间之差大于预设的拖动时间门限时, 不将此次 释放动作判定为一次独立的释放动作, 因此不进行事件响应。
进一步地, 在步骤 101 中, 在获取按下动作信号之后, 还可以根据按下动作信号获 取按下事件响应。对于按下动作信号, 不必对其进行时间长度判断, 直接获取按下事件响 应。
通过步骤 103 中对按下动作与释放动作之间的时间间隔进行判断, 只有该时间间 隔小于或等于预设的拖动时间门限时, 才根据此次释放动作获取释放事件响应。对于用户 通过手指或触笔在触屏上按下之后进行了拖动再离开触屏的情况, 当按下动作与释放动作 之间的时间间隔达到拖动时间门限时, 则根据步骤 103 的判断, 不会根据此次释放动作获 取释放事件响应, 从而避免了事件响应的误判。
上述本发明实施例一对触屏响应方法中的释放事件响应过程进行了改进, 在对释 放事件响应过程进行上述改进的同时, 还可以进一步改进拖动事件响应过程, 具体通过本 发明实施例二进行说明。
图 2 是本发明实施例二的触屏响应方法的流程图。如图 2 所示, 该方法包括以下 过程。 步骤 201 : 获取按下动作信号并记录按下动作信号对应的第一时间。
本发明实施例二的步骤 201 与本发明实施例一的步骤 101 相同, 在此不再赘述。 进 一步地, 在步骤 201 中, 在获取按下动作信号之后, 还可以根据按下动作信号获取按下事件 响应。
在步骤 101 之后, 有可能获取到释放动作信号, 也有可能获取到拖动动作信号。通 过以下步骤 202 对上述两种信号进行区分。
步骤 202 : 判断获取到释放动作信号或获取到拖动动作信号。如果是释放动作信 号, 执行步骤 211 ; 如果是拖动动作信号, 执行步骤 221。
步骤 211 : 获取释放动作信号并记录释放动作信号对应的第二时间。
步骤 212 : 判断第二时间与第一时间之差是否小于或等于预设的拖动时间门限。 如果是, 执行步骤 213 ; 否则, 执行步骤 214。
步骤 213 : 获取释放事件响应 ;
步骤 214 : 不进行事件响应。
上述步骤 211 至步骤 214 分别于本发明实施例一中的步骤 102 至步骤 105 相同, 在此不再赘述。
步骤 221 : 获取拖动动作信号并记录拖动动作信号对应的第三时间。
在本步骤中, 当用户手指或触笔在触屏上拖动时, 获取到拖动动作信号并且记录 当前时间, 该时间即为第三时间。 具体地, 第三时间与上述第一时间采用同一时间坐标系内 的数值进行记录。如果上述第一时间是根据触屏所在终端设备的系统时间进行记录了, 则 第三时间也根据触屏所在终端设备的系统时间进行记录, 即: 记录获取拖动动作信号的时 刻对应的系统时间作为第三时间。
步骤 222 : 判断第三时间与第一时间之差是否大于或等于预设的拖动时间门限。 如果是, 执行步骤 223 ; 否则, 返回步骤 202, 获取下一次拖动动作信号。
在本步骤中, 仍与采用本发明实施例一的步骤 103 以及本发明实施例二的步骤
212 中相同的拖动时间门限。一种较佳的实施方式是, 该拖动时间门限为 200 毫秒。经测 试证明, 当拖动时间门限设置为 200 毫秒时, 判断是否为拖动动作的正确率可以达到 98%。 如果第三时间与第一时间之差大于或等于预设的拖动时间门限, 说明拖动动作已经持续了 足够长的时间, 因此执行步骤 223, 获取拖动事件响应。如果第三时间与第一时间之差小于 预设的拖动时间门限时, 说明拖动动作尚未持续足够长的时间, 因此返回步骤 202, 获取下 一次拖动动作信号, 并重复执行步骤 221 至步骤 222, 如此反复循环, 直到在某一次循环中, 步骤 222 中判断第三时间与第一时间之差大于或等于预设的拖动时间门限, 则说明此时拖 动动作已经持续了足够长的时间, 因此执行步骤 223, 获取拖动事件响应。
步骤 223 : 获取拖动事件响应。
通过步骤 222 中对拖动动作持续时间进行判断, 当拖动动作持续时间尚未达到预 设的拖动时间门限时不获取拖动事件响应, 如果用户在点击的过程中产生微小的滑动, 该 微小的滑动动作会触发拖动动作信号, 在步骤 222 中, 由于该动作的持续时间小于预设的 拖动时间门限, 因此会返回继续获取下一次拖动动作信号, 由于用户在点击动作中产生的 滑动动作持续时间较短, 不会达到预设的拖动时间门限, 因此不会根据该微小的滑动动作 获取拖动事件响应, 其触屏响应结果与用户下发的指令一致, 避免了由于人工手动操作造 成的事件响应误判, 提高了触屏响应的正确性。 并且, 现有的触屏响应方法中, 在显示拖动动作时, 屏幕显示的内容会产生跳跃, 连贯性和平滑性差。在本发明实施例二中, 在步骤 202 中获取拖动动作信号之后, 对拖动动 作的显示方式进行改进。 具体地, 本发明提出的触屏响应方法可以通过控件方式实现, 通过 显示控件所在位置来显示拖动动作。具体包括如下过程 :
在步骤 202 中获取拖动动作信号之后, 第一步, 获取控件的当前位置坐标以及拖 动动作信号对应的拖动动作的起始坐标和终止坐标。以横坐标为例, 以 x 表示控件当前位 置的横坐标, 在拖动动作的路径上依次获取拖动动作的起始横坐标 x 1 和终止横坐标 x2。 以纵坐标为例, 以 y 表示控件的当前位置的纵坐标, 在拖动动作的路径上依次获取拖动动 作的起始纵坐标 y1 和终止纵坐标 y2。第二步, 根据终止坐标与起始坐标之差与控件的当 前位置坐标的和获取控件的目标位置的坐标, 在目标位置显示控件。以上述横坐标为例, 以 x’ 表示控件的目标位置的横坐标, 根据以下计算方法获取 x’ 的值, x’ = x+x2-x1, 即, 控件的目标位置的横坐标为控件的当前位置的横坐标加上在横坐标方向滑动的距离。 以上 述纵坐标为例, 以 y’ 表示控件的目标位置的纵坐标, 根据以下计算方法获取 y’ 的值, y’ = y+y2-y1, 即, 控件的目标位置的纵坐标为控件的当前位置的纵坐标加上在纵坐标方向滑动 的距离。根据计算获得的 x’ 和 y’ 的值, 在触屏上坐标 (x’ , y’ ) 对应的目标位置显示该控 件, 用以表示拖动动作移动轨迹。 第三步, 以本次拖动动作信号对应的拖动动作的终止坐标 作为下一个拖动动作的起始坐标, 采用下一个拖动动作信号重复执行第一步至第三步, 直 到获取到释放事件响应为止。以横坐标为例, 采用本次拖动动作信号对应的 x2 的值作为下 一次拖动动作信号的 x1 的取值。以纵坐标为例, 采用本次拖动动作信号对应的 y2 的值作 为下一次拖动动作信号的 y1 的取值。
在本发明的触屏响应方法中, 采用上述方法显示拖动轨迹, 在显示拖动动作的移 动轨迹时, 根据拖动动作的中间坐标进行显示, 使得移动轨迹的显示曲线更加平滑、 连贯。
以上对本发明提出的触屏响应方法进行了介绍, 下面对采用该方法的触屏响应装
置进行说明。
图 3 是本发明实施例三的触屏响应装置的结构示意图。如图 3 所示, 该装置中至 少包括 : 第一信号获取单元 31、 第一计时单元 32、 第二信号获取单元 33、 第二计时单元 34、 控制单元 35 和事件响应单元 36。
其中, 第一信号获取单元 31 用于获取按下动作信号。 第一计时单元 32 用于记录按 下动作信号对应的第一时间。第二信号获取单元 33 用于获取释放动作信号。第二计时单 元 34 用于记录释放动作信号对应的第二时间。控制单元 35 用于判断第二时间与第一时间 之差是否小于或等于预设的拖动时间门限。如果是, 控制单元 35 向事件响应单元 36 发送 确认通知消息。否则, 控制单元 35 向事件响应单元 36 发送忽略通知消息。事件响应单元 36 用于根据释放动作信号和确认通知消息获取释放事件响应, 还用于根据忽略通知消息不 进行事件响应。
在上述技术方案的基础上, 进一步地, 事件响应单元 36 还用于根据按下动作信号 获取按下事件响应。
在上述技术方案的基础上, 进一步地, 该触屏响应装置中还可以包括 : 第三信号获 取单元 37 和第三计时单元 38。
其中, 第三信号获取单元 37 用于获取拖动动作信号。第三计时单元 38 用于记录 拖动动作信号对应的第三时间。进一步地, 控制单元 35 还用于判断第三时间与第一时间之 差是否大于或等于预设的拖动时间门限。如果是, 控制单元 35 向事件响应单元 36 发送确 认通知消息。否则, 控制单元 35 向第三信号获取单元 37 发送再次获取通知消息。进一步 地, 事件响应单元 36 还用于根据拖动动作信号和确认通知消息获取拖动事件响应。
在上述技术方案的基础上, 进一步地, 该触屏响应装置中还可以包括 : 坐标获取单 元 391 和显示控制单元 392。
其中, 坐标获取单元 391 用于获取控件的当前位置坐标以及拖动动作信号对应的 拖动动作的起始坐标和终止坐标, 并以拖动动作信号对应的拖动动作的终止坐标作为下一 个拖动动作的起始坐标。 显示控制单元 392, 用于根据终止坐标与起始坐标之差与控件的当 前位置坐标的和获取控件的目标位置的坐标, 在目标位置显示该控件, 用于表示拖动动作 对应的移动轨迹。
以上通过本发明实施例三对本发明提出的触屏响应装置进行了介绍, 在实际应用 中, 该触屏响应装置可以设置在终端设备中。该终端设备包括触屏以及上述本发明实施例 三中记载的触屏响应装置。具体地, 该触屏响应装置可以设置于该终端设备的触屏控制器 中, 也可以在终端设备中在触屏控制器以外作为独立的装置存在, 与触屏控制器连接, 将获 取的触屏响应事件结果提供给触屏控制器。
根据上述本发明具体实施方式可见, 通过设置拖动时间门限并记录按下信号、 释 放信号、 拖动信号的获取时间, 在获取到释放动作信号和 / 或拖动动作信号时, 先对对该信 号与按下信号的时间间隔进行判断, 对于与按下信号的时间间隔小于或等于拖动时间门限 的释放信号, 根据其获取释放事件响应 ; 对于与按下信号的时间间隔大于或等于拖动时间 门限的释放信号, 根据其获取拖动事件响应。从而避免了拖动动作之后的释放动作触发释 放事件响应, 并避免了用户点击操作中的微小滑动触发拖动时间响应, 提高了触屏响应的 正确率。并且, 本发明实施例提出的触屏响应方法根据拖动动作的中间坐标显示拖动动作的移动轨迹, 提高了移动轨迹的显示曲线的平滑性和连贯性。上述本发明提出的触屏响应 装置可以通过控件方式实现上述触屏响应方法, 一种较佳的实施方式是, 该控件为低级用 户接口 (User Interface, 简称 UI) 控件。该控件采用本发明提出的触屏响应方法, 能对用 户的点击、 拖动操作进行合理、 准确的响应, 并平滑地显示拖动轨迹, 使用户获得平滑的拖 动体验。本发明提出的触屏响应方法支持跨平台应用, 可以在不同的平台使用该方法进行 触屏响应。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明保护的范围之内。