一种用户手势操作的识别方法、装置和终端设备
技术领域
本申请实施例涉及互联网技术领域,尤其涉及一种用户手势操作的识别方法、装置和终端设备。
背景技术
随着移动互联网与触摸屏技术的发展,手势操作因其便利性以及操控准确性越来越为用户所接受。手指接触屏幕时触发触碰开始事件(touch_down),手指移动过程中连续触发触碰滑动事件(touch_move),手指离开屏幕时触发滑动取消事件(touch_cancel或者touch_end)。
但是通常应用程序使用时,由于其页面既可以上下滑动也可以左右滑动,用户的手势往往由于输入操作的角度而产生斜向操作,从而造成对用户手势的判断出现错误。对用户手势的判断错误往往会产生错误的手势识别结果,令终端产生错误的操作响应,严重影响用户体验。
因此,如何实现准确识别用户手势操作,进行正确的操作响应成为本领域技术人员亟待解决的技术问题。
发明内容
本申请实施例提供了一种用户手势操作的识别方法、装置和终端设备,其能够实现准确识别用户手势操作,并进行正确的操作响应。
根据本申请实施例的一个方面,提供了一种用户手势操作的识别方法,所述方法包括:
如所述用户手势操作触发触碰滑动事件,判断所述用户手势操作的滑动距离是否满足触碰持续条件;
如满足,则根据所述用户手势操作的移动方向令页面产生对应的滚动,并禁止***其他方向滚动的功能。
根据本申请实施例的另一个方面,还提供了一种用户手势操作的识别装置,所述装置包括:
速度判断模块,用于如所述用户手势操作触发触碰滑动事件,判断所述用户手势操作的滑动距离是否满足触碰持续条件;
操作控制模块,用于如满足,则根据所述用户手势操作的移动方向令页面产生对应的滚动,并禁止***其他方向滚动的功能。
根据本申请实施例的又一个方面,还提供了一种终端设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的用户手势操作的识别方法对应的操作。
根据本申请实施例提供的技术方案,本申请判断获得的用户手势操作是否触发触碰滑动事件,如触发,则判断所述用户手势操作的滑动距离是否满足触碰持续条件。如满足,则根据所述用户手势操作的移动方向令页面产生对应的滚动,并禁止***其他方向滚动的功能。因此,本申请根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
附图说明
图1是根据本申请实施例一的一种用户手势操作的识别方法的步骤流程图;
图2是根据本申请实施例一的一种用户手势操作的识别方法的步骤S101的步骤流程图;
图3是根据本申请实施例二的一种用户手势操作的识别方法的步骤S102的一种实现的步骤流程图;
图4是根据本申请实施例二的一种用户手势操作的识别方法的步骤S102的另一种实现的步骤流程图;
图5是根据本申请实施例三的一种用户手势操作的识别方法的步骤流程图;
图6是根据本申请实施例四的一种用户手势操作的识别装置的结构框图;
图7是根据本申请实施例四的一种用户手势操作的识别装置的速度判断模块的结构框图;
图8是根据本申请实施例五的一种用户手势操作的识别装置的操作控制模块的一种实现的结构框图;
图9是根据本申请实施例五的一种用户手势操作的识别装置的操作控制模块的另一种实现的结构框图;
图10是根据本申请实施例六的一种用户手势操作的识别装置的结构框图;
图11是根据本申请实施例七的一种终端设备的结构框图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本申请实施例的具体实施方式作进一步详细说明。以下实施例用于说明本申请,但不用来限制本申请的范围。
本领域技术人员可以理解,本申请实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
实施例一
参照图1,示出了根据本申请实施例一的一种用户手势操作的识别方法的步骤流程图。
值得说明的是,本申请所述步骤S101至S103并不代表其执行的先后顺序。
本实施例的用户手势操作的识别方法包括以下步骤:
步骤S101:如所述用户手势操作触发触碰滑动事件,判断所述用户手势操作的滑动距离是否满足触碰持续条件。
手指接触屏幕时触发触碰开始事件(touch_down),手指移动过程中连续触发触碰滑动事件(touch_move),手指离开屏幕时触发滑动取消事件(touch_cancel或者touch_end)。
用户进行手势操作,本申请根据接收的用户手势操作进行判断,判断其手势操作是否能够触发触碰滑动事件(touch_move)。如果所述用户手势操作触发触碰滑动事件,进一步判断所述用户手势操作的滑动距离是否满足触碰持续条件。从而根据所述用户手势操作的滑动距离是否满足触碰持续条件进一步对所述用户操作进行更加准确的判断。
在本申请一具体实现中,参见图2,所述步骤S101包括:
步骤S1011:当获得的所述用户手势操作触发触碰开始事件,记录开始触碰点的坐标。
具体地,本申请实施例接收用户手势操作,获得用户手指开始接触屏幕,触发触碰开始事件(touch_down),记录开始触碰点的坐标(x1,y1)。
步骤S1012:当获得的所述用户手势操作触发触碰滑动事件,记录滑动触碰点的坐标。
具体地,本申请实施例接收用户手势操作,获得用户手指移动过程中连续接触屏幕,触发触碰滑动事件(touch_move),记录此时的滑动触碰点的坐标(x2,y2)。
步骤S1013:如所述滑动触碰点和所述开始触碰点在任一方向上的坐标差值大于最低可信值,则确定所述滑动距离满足触碰持续条件。
计算所述滑动触碰点和所述开始触碰点在x方向和y方向上的坐标差值,即x’=x2-x1与y’=y2-y1。
具体地,预先设置一最低可信值r,最低可信值r为一长度值。即x’或者y’大于最低可信值r,确定所述滑动距离满足触碰持续条件。若x’或者y’都小于或者等于r,持续触发触碰滑动事件(touch_move),记录此时的滑动触碰点的坐标(x3,y3)。再次利用触碰点的坐标(x3,y3)以及开始触碰点的坐标(x1,y1)进行所述滑动触碰点和所述开始触碰点在x方向和y方向上的坐标差值x’、y’计算。
步骤S102:如满足,则根据所述用户手势操作的移动方向令页面产生对应的滚动,并禁止***其他方向滚动的功能。
由于网页页面以及***框架都可以根据用户手势操作进行滚动,用户对于页面所进行的手势操作容易发生误判,从而产生错误的响应。
在本申请实施例的具体实现中,如果所述用户手势操作的滑动距离满足触碰持续条件,则通过所述用户手势操作的移动方向令页面产生对应的滚动,为了避免操作冲突,禁止***其他方向的滚动。
通过本实施例,根据本申请实施例根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
本实施例的用户手势操作的识别方法可以由任意适当的具有用户手势操作的识别能力的设备执行,包括但不限于:各种终端设备或者服务器,包括但不限于PC机、平板电脑、移动终端等。
实施例二
根据本申请实施例二的一种用户手势操作的识别方法的步骤包括步骤S101以及步骤S102。
在本申请一具体实现中,参见图3,所述步骤S102包括:
步骤S1021:判断所述滑动触碰点和所述开始触碰点在x方向的坐标差值是否大于所述滑动触碰点和所述开始触碰点在y方向的坐标差值。
步骤S1022:如大于,则确认所述用户手势操作的移动方向为横向,令页面产生横向滚动,禁止***纵向滚动的功能。
具体地,如果x’>y’>r,则表明用户手势操作横向滑动的意图更明显,确认所述用户手势操作的移动方向为横向,令页面产生横向滚动。并且为了避免操作冲突,禁止***纵向滚动的功能。
在本申请另一具体实现中,参见图4,所述步骤S102还包括:
步骤S1023:如小于或者等于,则确认所述用户手势操作的移动方向为纵向,令页面产生纵向滚动,禁止***横向滚动的功能。
具体地,如果y’>=x’>r,则表明用户手势操作纵向滑动的意图更明显,确认所述用户手势操作的移动方向为纵向,令页面产生纵向滚动。并且为了避免操作冲突,禁止***横向滚动的功能。
在本申请实施例的具体实现中,如果所述用户手势操作的滑动距离满足触碰持续条件,则通过所述用户手势操作的移动方向令页面产生对应的滚动,为了避免操作冲突,禁止***其他方向的滚动。
通过本实施例,根据本申请实施例根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
本实施例的用户手势操作的识别方法可以由任意适当的具有用户手势操作的识别能力的设备执行,包括但不限于:各种终端设备或者服务器,包括但不限于PC机、平板电脑、移动终端等。
实施例三
根据本申请实施例三的一种用户手势操作的识别方法的步骤包括步骤S101以及步骤S102。
在本申请一具体实现中,参见图5,所述方法包括:
步骤S103:如所述用户手势操作触发滑动取消事件,则恢复所述页面其他方向滚动的功能。
具体地,如果x’>y’>r,则表明用户手势操作横向滑动的意图更明显,确认所述用户手势操作的移动方向为横向,令页面产生横向滚动。并且为了避免操作冲突,禁止***纵向滚动的功能。
当所述用户手势离开屏幕,滑动取消事件(touch_cancel或者touch_end)时,恢复***上下滑动的功能,以便后续***逻辑正常。
具体地,如果y’>=x’>r,则表明用户手势操作纵向滑动的意图更明显,确认所述用户手势操作的移动方向为纵向,令页面产生纵向滚动。并且为了避免操作冲突,禁止***横向滚动的功能。
当所述用户手势离开屏幕,滑动取消事件(touch_cancel或者touch_end)时,恢复***上下滑动的功能,以便后续***逻辑正常。
在本申请实施例的具体实现中,如果所述用户手势操作的滑动距离满足触碰持续条件,则通过所述用户手势操作的移动方向令页面产生对应的滚动,为了避免操作冲突,禁止***其他方向的滚动。而所述用户手势操作触发滑动取消事件后,恢复***其他方向的滚动,以便后续的逻辑正常。
通过本实施例,根据本申请实施例根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
本实施例的用户手势操作的识别方法可以由任意适当的具有用户手势操作的识别能力的设备执行,包括但不限于:各种终端设备或者服务器,包括但不限于PC机、平板电脑、移动终端等。
实施例四
参照图6,示出了根据本申请实施例四的一种用户手势操作的识别装置的结构框图。
本实施例的用户手势操作的识别方法包括以下模块:
速度判断模块601,用于如所述用户手势操作触发触碰滑动事件,判断所述用户手势操作的滑动距离是否满足触碰持续条件。
操作控制模块602,用于如满足,则根据所述用户手势操作的移动方向令页面产生对应的滚动,并禁止***其他方向滚动的功能。
手指接触屏幕时触发触碰开始事件(touch_down),手指移动过程中连续触发触碰滑动事件(touch_move),手指离开屏幕时触发滑动取消事件(touch_cancel或者touch_end)。
用户进行手势操作,本申请根据接收的用户手势操作进行判断,判断其手势操作是否能够触发触碰滑动事件(touch_move)。如果所述用户手势操作触发触碰滑动事件,进一步判断所述用户手势操作的滑动距离是否满足触碰持续条件。从而根据所述用户手势操作的滑动距离是否满足触碰持续条件进一步对所述用户操作进行更加准确的判断。
在本申请一具体实现中,参见图7,所述速度判断模块601包括:
第一坐标单元6011,用于当获得的所述用户手势操作触发触碰开始事件,记录开始触碰点的坐标;
第二坐标单元6012,用于当获得的所述用户手势操作触发触碰滑动事件,记录滑动触碰点的坐标;
坐标计算单元6013,用于如所述滑动触碰点和所述开始触碰点在任一方向上的坐标差值大于最低可信值,则确定所述滑动距离满足触碰持续条件。具体地,本申请实施例接收用户手势操作,获得用户手指开始接触屏幕,触发触碰开始事件(touch_down),记录开始触碰点的坐标(x1,y1)。
具体地,本申请实施例接收用户手势操作,获得用户手指移动过程中连续接触屏幕,触发触碰滑动事件(touch_move),记录此时的滑动触碰点的坐标(x2,y2)。
计算所述滑动触碰点和所述开始触碰点在x方向和y方向上的坐标差值,即x’=x2-x1与y’=y2-y1。
具体地,预先设置一最低可信值r,最低可信值r为一长度值。即x’或者y’大于最低可信值r,确定所述滑动距离满足触碰持续条件。若x’或者y’都小于或者等于r,持续触发触碰滑动事件(touch_move),记录此时的滑动触碰点的坐标(x3,y3)。再次利用触碰点的坐标(x3,y3)以及开始触碰点的坐标(x1,y1)进行所述滑动触碰点和所述开始触碰点在x方向和y方向上的坐标差值x’、y’计算。
由于网页页面以及***框架都可以根据用户手势操作进行滚动,用户对于页面所进行的手势操作容易发生误判,从而产生错误的响应。
在本申请实施例的具体实现中,如果所述用户手势操作的滑动距离满足触碰持续条件,则通过所述用户手势操作的移动方向令页面产生对应的滚动,为了避免操作冲突,禁止***其他方向的滚动。
通过本实施例,根据本申请实施例根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
本实施例的用户手势操作的识别方法可以由任意适当的具有用户手势操作的识别能力的设备执行,包括但不限于:各种终端设备或者服务器,包括但不限于PC机、平板电脑、移动终端等。
实施例五
根据本申请实施例五的一种用户手势操作的识别装置包括速度判断模块601、操作控制模块602。
在本申请一具体实现中,参见图8,所述操作控制模块602包括:
方向判断单元6021,用于判断所述滑动触碰点和所述开始触碰点在x方向的坐标差值是否大于所述滑动触碰点和所述开始触碰点在y方向的坐标差值。
第一禁止单元6022,用于如大于,则确认所述用户手势操作的移动方向为横向,令页面产生横向滚动,禁止***纵向滚动的功能。
具体地,如果x’>y’>r,则表明用户手势操作横向滑动的意图更明显,确认所述用户手势操作的移动方向为横向,令页面产生横向滚动。并且为了避免操作冲突,禁止***纵向滚动的功能。
在本申请另一具体实现中,参见图9,所述操作控制模块602还包括:
第二禁止单元6023,用于如小于或者等于,则确认所述用户手势操作的移动方向为纵向,令页面产生纵向滚动,禁止所述页面横向滚动的功能。
具体地,如果y’>=x’>r,则表明用户手势操作纵向滑动的意图更明显,确认所述用户手势操作的移动方向为纵向,令页面产生纵向滚动。并且为了避免操作冲突,禁止***横向滚动的功能。
在本申请实施例的具体实现中,如果所述用户手势操作的滑动距离满足触碰持续条件,则通过所述用户手势操作的移动方向令页面产生对应的滚动,为了避免操作冲突,禁止***其他方向的滚动。
通过本实施例,根据本申请实施例根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
本实施例的用户手势操作的识别方法可以由任意适当的具有用户手势操作的识别能力的设备执行,包括但不限于:各种终端设备或者服务器,包括但不限于PC机、平板电脑、移动终端等。
实施例六
根据本申请实施例六的一种用户手势操作的识别装置包括速度判断模块601、操作控制模块602。
在本申请一具体实现中,参见图10,所述装置还包括:
滚动恢复模块603,用于如所述用户手势操作触发滑动取消事件,则恢复所述页面其他方向滚动的功能。
具体地,如果x’>y’>r,则表明用户手势操作横向滑动的意图更明显,确认所述用户手势操作的移动方向为横向,令页面产生横向滚动。并且为了避免操作冲突,禁止***纵向滚动的功能。
当所述用户手势离开屏幕,滑动取消事件(touch_cancel或者touch_end)时,恢复***上下滑动的功能,以便后续***逻辑正常。
具体地,如果y’>=x’>r,则表明用户手势操作纵向滑动的意图更明显,确认所述用户手势操作的移动方向为纵向,令页面产生纵向滚动。并且为了避免操作冲突,禁止***横向滚动的功能。
当所述用户手势离开屏幕,滑动取消事件(touch_cancel或者touch_end)时,恢复***上下滑动的功能,以便后续***逻辑正常。
在本申请实施例的具体实现中,如果所述用户手势操作的滑动距离满足触碰持续条件,则通过所述用户手势操作的移动方向令页面产生对应的滚动,为了避免操作冲突,禁止***其他方向的滚动。而所述用户手势操作触发滑动取消事件后,恢复***其他方向的滚动,以便后续的逻辑正常。
通过本实施例,根据本申请实施例根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
本实施例的用户手势操作的识别方法可以由任意适当的具有用户手势操作的识别能力的设备执行,包括但不限于:各种终端设备或者服务器,包括但不限于PC机、平板电脑、移动终端等。
实施例七
参照图11,示出了根据本申请实施例七的一种终端设备的结构框图,本申请具体实施例并不对终端设备的具体实现做限定。
如图11所示,该终端设备可以包括:处理器(processor)1102、通信接口(Communications Interface)1104、存储器(memory)1106、以及通信总线1108。
其中:
处理器1102、通信接口1104、以及存储器1106通过通信总线1108完成相互间的通信。
通信接口1104,用于与其它设备比如其它终端或服务器等的网元通信。
处理器1102,用于执行程序1110,具体可以执行上述用户手势操作的识别方法实施例中的相关步骤。
具体地,程序1110可以包括程序代码,该程序代码包括计算机操作指令。
处理器1102可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。终端设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器1106,用于存放程序1110。存储器1106可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序1110具体可以用于使得处理器1102执行以下操作:如所述用户手势操作触发触碰滑动事件,判断所述用户手势操作的滑动距离是否满足触碰持续条件;如满足,则根据所述用户手势操作的移动方向令页面产生对应的滚动,并禁止***其他方向滚动的功能。
在一种可选的实施方式中,程序1110还用于当获得的所述用户手势操作触发触碰开始事件,记录开始触碰点的坐标;当获得的所述用户手势操作触发触碰滑动事件,记录滑动触碰点的坐标;如所述滑动触碰点和所述开始触碰点在任一方向上的坐标差值大于最低可信值,则确定所述滑动距离满足触碰持续条件。
在一种可选的实施方式中,程序1110还用于判断所述滑动触碰点和所述开始触碰点在x方向的坐标差值是否大于所述滑动触碰点和所述开始触碰点在y方向的坐标差值;如大于,则确认所述用户手势操作的移动方向为横向,令页面产生横向滚动,禁止***纵向滚动的功能。
在一种可选的实施方式中,程序1110还用于如小于或者等于,则确认所述用户手势操作的移动方向为纵向,令页面产生纵向滚动,禁止所述页面横向滚动的功能。
在一种可选的实施方式中,程序1110还用于如所述用户手势操作触发滑动取消事件,则恢复所述页面其他方向滚动的功能。
通过本实施例,根据本申请实施例根据触发触碰滑动事件后,判断用户手势操作的滑动距离是否满足触碰持续条件,从而准确对所述用户手势操作的方向进行判断,令页面进行和所述触碰滑动动作的方向对应的滚动,禁止***其他方向滚动的功能,可避免对用户手势操作的判断错误。本申请能够实现准确识别用户手势操作,并进行正确的操作响应,改善了用户体验。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的用户手势操作的识别方法。此外,当通用计算机访问用于实现在此示出的用户手势操作的识别方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的用户手势操作的识别方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。