CN114579033B - 安卓平台的手势切换方法、装置、设备及存储介质 - Google Patents
安卓平台的手势切换方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114579033B CN114579033B CN202210477746.6A CN202210477746A CN114579033B CN 114579033 B CN114579033 B CN 114579033B CN 202210477746 A CN202210477746 A CN 202210477746A CN 114579033 B CN114579033 B CN 114579033B
- Authority
- CN
- China
- Prior art keywords
- touch
- gesture
- interaction
- signal
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及界面手势分析领域,公开了一种安卓平台的手势切换方法、装置、设备及存储介质。该方法包括:初始化交互类型的坐标,得到交互类型的初始化坐标;接收手势触控信号;判断手势的触控类型是否为抬起触控;若为非抬起触控时,则将触控坐标赋值给手势交互类型的坐标;若为抬起触控时,则判断手势触控信号对应的交互类型是否为主手指交互;若为主手指交互,则判断手势触控信号是否为最后的手指交互信号;若为最后的手指交互信号,则结束手势的交互过程;若不为,则将触控坐标赋值给新的主手指交互对应坐标;若不为主手指交互,则判断手势触控信号是否为最后的手指交互信号;若不为,则将触控坐标赋值给新的次手指交互对应坐标。
Description
技术领域
本发明涉及界面手势分析领域,尤其涉及一种安卓平台的手势切换方法、装置、设备及存储介质。
背景技术
随着安卓***的普及,越来越多的智能设备采用安卓的触摸操作***。众多人员在安卓***平台上进行改进,使得安卓内部的触摸手势处理在更多场景下得到应用,丰富了大众的交互内容,例如双击亮屏、S型滑动截屏、滑动解锁等手势使得交互变得简洁。
由于安卓sdk内部只提供了几种简单的触摸事件处理方式。导致难以实现一些复杂手势和多种手势组合,并且处理过程通常只能响应一种手势处理逻辑,如:单手指滑动过程中加入一手指想要缩放是不行的,必须要抬起手指后再按下两个手指。这种割裂的手势操作在一些场景下难以提供优质的用户体验,需要一种技术解决安卓平台的手势切换较为割裂响应迟缓的问题。
发明内容
本发明的主要目的在于解决安卓平台的手势切换较为割裂响应迟缓的技术问题。
本发明第一方面提供了一种安卓平台的手势切换方法,包括步骤:
初始化预置交互类型的坐标,得到所述交互类型的初始化坐标,其中,所述交互类型包括:主手指交互、次手指交互;
接收手势触控信号,以及分析所述手势触控信号,得到手势的触控类型,其中,所述触控类型包括:非抬起触控、抬起触控;
判断所述手势的触控类型是否为抬起触控;
若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标;
若手势的触控类型为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
若为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
若为最后的手指交互信号,则结束手势的交互过程;
若不为最后的手指交互信号,则查询出新的主手指交互,将所述触控坐标赋值给新的主手指交互对应坐标;
若不为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
若不为最后的手指交互信号,则查询出新的次手指交互,将所述触控坐标赋值给新的次手指交互对应坐标。
可选的,在本发明第一方面的第一种实现方式中,所述非抬起触控包括:按压触控、滑动触控。
可选的,在本发明第一方面的第二种实现方式中,所述若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标包括:
若手势的触控类型不为抬起触控时,则判断所述非抬起触控是否为滑动触控;
若非抬起触控不为滑动触控,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标;
若非抬起触控为滑动触控,则获取所述手势触控信号的触控坐标,基于所述交互类型的初始化坐标和所述触控坐标,对预置视图进行更新处理,以及识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标。
可选的,在本发明第一方面的第三种实现方式中,在所述获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标之后,在所述将所述触控坐标赋值给新的主手指交互对应坐标之后,在所述将所述触控坐标赋值给新的次手指交互对应坐标之后,还包括:
基于所述交互类型的初始化坐标和所述触控坐标,对预置视图进行更新处理。
可选的,在本发明第一方面的第四种实现方式中,所述识别所述手势触控信号对应的交互类型,得到手势交互类型包括:
判断所述手势触控信号对应的交互类型是否为主手指交互;
若为主手指交互,则将主手指交互确定为手势交互类型;
若不为主手指交互,则将次手指交互确定为手势交互类型。
可选的,在本发明第一方面的第五种实现方式中,所述若为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号包括:
判断预置触控界面是否存在触控点击;
若触控界面存在触控点击,则手势触控信号不为最后的手指交互信号;
若触控界面不存在触控点击,则手势触控信号为最后的手指交互信号。
可选的,在本发明第一方面的第六种实现方式中,所述若不为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号包括:
判断预置触控界面是否存在未定义的触控点击;
若存在未定义的触控点击,则将所述未定义的触控点击确定为新的次手指交互;
若不存在未定义的触控点击,则将所述手势触控信号确定为最后的手指交互信号。
本发明第二方面提供了一种安卓平台的手势切换装置,包括:
初始化模块,用于初始化预置交互类型的坐标,得到所述交互类型的初始化坐标,其中,所述交互类型包括:主手指交互、次手指交互;
分析模块,用于接收手势触控信号,以及分析所述手势触控信号,得到手势的触控类型,其中,所述触控类型包括:非抬起触控、抬起触控;
第一判断模块,用于判断所述手势的触控类型是否为抬起触控;
第一赋值模块,用于若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标;
第二判断模块,用于若手势的触控类型为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
第三判断模块,用于若为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
结束模块,用于若为最后的手指交互信号,则结束手势的交互过程;
第二赋值模块,用于若不为最后的手指交互信号,则查询出新的主手指交互,将所述触控坐标赋值给新的主手指交互对应坐标;
第四判断模块,用于若不为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
第三赋值模块,用于若不为最后的手指交互信号,则查询出新的次手指交互,将所述触控坐标赋值给新的次手指交互对应坐标。
本发明第三方面提供了一种安卓平台的手势切换设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述安卓平台的手势切换设备执行上述的安卓平台的手势切换方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的安卓平台的手势切换方法。
在本发明实施例中,通过定义主手指交互和次手指交互的触控逻辑,在抬起触控、按压触控、滑动触控的切换上使用坐标赋值与类型判断方式,将三种触控方式融合在一起,实现了安卓平台的手势的迅速切换和平滑过渡。
附图说明
图1为本发明实施例中安卓平台的手势切换方法的一个实施例示意图;
图2为本发明实施例中安卓平台的手势切换装置的一个实施例示意图;
图3为本发明实施例中安卓平台的手势切换装置的另一个实施例示意图;
图4为本发明实施例中安卓平台的手势切换设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种安卓平台的手势切换方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中安卓平台的手势切换方法的一个实施例包括:
101、初始化预置交互类型的坐标,得到交互类型的初始化坐标,其中,交互类型包括:主手指交互、次手指交互;
102、接收手势触控信号,以及分析手势触控信号,得到手势的触控类型,其中,触控类型包括:非抬起触控、抬起触控;
103、判断手势的触控类型是否为抬起触控;
在101-103步骤中,在1个手指触摸过程中允许随时加入第2个手指并响应。在多个手指触摸过程中允许随时抬起任一手指,并保持事件处理连续。在2个手指触摸过程中允许随时加入任意数量手指,使其不影响2指处理,并保持事件处理连续。定义主手指:actionIndex为0的手指,定义次手指:actionIndex 为 pointerCoun t-1的手指,由于通常情况需要计算从点击到移动后位置的距离,因此对于手指分别定义了点击时的坐标和滑动后的坐标。将主手指交互横轴坐标定义为majorDownX,将主手指交互纵轴坐标定义为majorDownY,次手指交互的横轴坐标定义为minorDownX,次手指交互的纵轴坐标定义为minorDownY,上次事件/初始化的主手指交互横轴坐标定义为beforemajorX,上次事件/初始化的主手指交互的纵轴坐标定义为beforemajorY,上次事件/初始化的次手指交互横轴坐标定义为beforeminorX,上次事件/初始化的次手指交互纵轴坐标定义为beforeminorY。事件类型为 ACTION_DOWN 和 ACTION_POINTER_DOWN 时初始化上述参数。
伪代码如下:
If(cofiq=ViewConfiguration.get(v.context)#表示初始化的条件为触控信号#
majorDownX=event.x #表示定义初始化坐标为触控坐标
majorDownY=event.y #表示定义初始化坐标为触控坐标
beforemajorX=majorDownX #表示触控坐标设置为上次事件
beforemajorY=majorDownY #表示触控坐标设置为上次事件
isinslop=true
Consumed=onStgart(event)
Val actionIndex:int=event.actionIndex # 定义触发事件和参数
If(actionIndex==0{
marjorDownX=event.x
marjorDownY=event.y
beforemajorX=marjorDownX
beforemajorY=marjorDownY
}else if (actionIndex== lastPointerIndex){ #触发点击事件认定为触发事件,产生触控坐标
}
minorDownX=event.getx(actionIndex)
minorDownY=event.gety(actionIndex)
beforeminorX=minorDownX
beforeminorY=minorDownY
})
初始化数据以及数据更新后,对手势的触控类型判断是否为非抬起触控,判断手段是现有技术,在此不做赘述。
104、若手势的触控类型不为抬起触控时,则获取手势触控信号的触控坐标,识别手势触控信号对应的交互类型,得到手势交互类型,以及将触控坐标赋值给手势交互类型的坐标;
在本实施例中,触控类型是非抬起触控,则先读取手势触控信号的触控坐标,也就是event.getx和event.gety,识别手势触控信号对应的交互类型,得到手势交互类型,以及将触控坐标赋值给手势交互类型的坐标,可以采用如下伪代码处理:
}
minorDownX=event.getx(actionIndex)#坐标替换
minorDownY=event.gety(actionIndex)#坐标替换
beforeminorX=minorDownX #坐标更新
beforeminorY=minorDownY #坐标更新
})。
进一步的,非抬起触控包括:按压触控、滑动触控,在此基础上,104可以执行以下步骤:
1041、若手势的触控类型不为抬起触控时,则判断非抬起触控是否为滑动触控;
1042、若非抬起触控不为滑动触控,则获取手势触控信号的触控坐标,识别手势触控信号对应的交互类型,得到手势交互类型,以及将触控坐标赋值给手势交互类型的坐标;
1043、若非抬起触控为滑动触控,则获取手势触控信号的触控坐标,基于交互类型的初始化坐标和触控坐标,对预置视图进行更新处理,以及识别手势触控信号对应的交互类型,得到手势交互类型,以及将触控坐标赋值给手势交互类型的坐标。
在1041-1043步骤中,先进行判断是不是滑动触控,如果不是滑动触控,可以参考如下的触控坐标赋值给手势交互类型的坐标方式:
else if (actionIndex== lastPointerIndex){ #触发点击事件认定为触发事件,产生触控坐标
}
minorDownX=event.getx(actionIndex)
minorDownY=event.gety(actionIndex)
beforeminorX=minorDownX
beforeminorY=minorDownY
})
而如果事件类型为滑动触控 ,则需要对before的数据进行修改,也即使上一次坐标数据进行修改。先获取手势触控信号的触控坐标,然后不是进行坐标赋值,而是先对预置视图进行更新处理。
伪代码如下:
MotionEvent.ACTION_MOVE->{
if(performLongClick.consumedLongCLick){
flingHandLer.cancel()
returntrue
}
flingHandLer.onMove(event)
if(isInSLop)isInSlop=onSLop(event)
consumed=isInSlopI|when{
pointerCount==1->onMove(event)
pointerCount>1->onTransform(event)
else->false
}
beforeMaiorx=event.x #坐标更新过程
beforeMajorY=event.y #坐标更新过程
beforeMinorx=event.getX(lastPointerIndex) #坐标更新过程
beforeMinorY=event.getY(lastPointerIndex) #坐标更新过程
checkcLICKSLOp(V)
}
此时即可确保在手指按下抬起期间进行的触摸事件处理参数是连续的,因此上层在使用这些参数进行事件处理时即可做到连贯和流畅。
进一步的,在104的“识别手势触控信号对应的交互类型,得到手势交互类型”可以执行以下步骤:
1044、判断手势触控信号对应的交互类型是否为主手指交互;
1045、若为主手指交互,则将主手指交互确定为手势交互类型;
1046、若不为主手指交互,则将次手指交互确定为手势交互类型。
在1044-1046步骤中,手势触控信号的交互类型只能是主手指交互或者是次手指交互,分析一次即可,不需进行多次分析。
105、若手势的触控类型为抬起触控时,则获取手势触控信号的触控坐标,判断手势触控信号对应的交互类型是否为主手指交互;
106、若为主手指交互,则判断手势触控信号是否为最后的手指交互信号;
107、若为最后的手指交互信号,则结束手势的交互过程;
108、若不为最后的手指交互信号,则查询出新的主手指交互,将触控坐标赋值给新的主手指交互对应坐标;
109、若不为主手指交互,则判断手势触控信号是否为最后的手指交互信号;
110、若不为最后的手指交互信号,则查询出新的次手指交互,将触控坐标赋值给新的次手指交互对应坐标。
在105-110步骤中,在事件类型为ACTION_POINTER_UP时,先判断交互类型是否为主手指交互,如果是主手指交互,则需要再进一步分析是否为最后的手指交互信号,如果是最后的手指交互信号,则认为整个屏幕都没有点击过程不需要再进行相关交互,而如果不是最后的手指交互信号,则使用actionIndex+1的手指作为主手指并重新初始化主手指相关参数。
如果不是主手指交互,认定是次手指交互,判断次手指交互是否为最后的手指交互信号,如果是最后的手指交互信号,则不需要任何处理,而如果不是,则使用pointerCount-2的手指作为次手指名重新初始化次手指相关参数。
具体的伪代码如下:
if(actionIndex== 0){ #手势触控信号认定为触发事件,产生触控坐标
}
marjorDownX=event.getx(pointerIndex:actionIndex+1)
marjorDownY=event.gety(pointerIndex:actionIndex+1)
beforemarjorX=marjorDownX
beforemarjorY=marjorDownY
}else if(actionIndex== lastPonterIndex){
minorDownX=event.getx(pointerIndex:actionIndex-1)
minorDownY=event.gety(pointerIndex:actionIndex-1)
beforemarjorX=minorDownX
beforemarjorY=minorDownY
}
进一步的,106可以执行以下步骤:
1061、判断预置触控界面是否存在触控点击;
1062、若触控界面存在触控点击,则手势触控信号不为最后的手指交互信号;
1063、若触控界面不存在触控点击,则手势触控信号为最后的手指交互信号。
在1061-1063步骤中,主要是对主手指交互判断是否为最后的手指交互信号,直接查看触控界面是否存在触控点击即可,因为整个界面是先有主手指交互后有次手指交互,如果只剩主手指交互、次手指交互,主手指交互抬起,则会将次手指交互重新定义为主手指交互。
进一步的,109可以执行以下步骤:
1091、判断预置触控界面是否存在未定义的触控点击;
1092、若存在未定义的触控点击,则将未定义的触控点击确定为新的次手指交互;
1093、若不存在未定义的触控点击,则将手势触控信号确定为最后的手指交互信号。
在1061-1063步骤中,主要是对次手指交互判断是否为最后的手指交互信号,次手指交互需要找到未被定义为minorDownX、minorDownY、majorDownX、majorDownY的触控点击,将该触控点击确定为次手指交互,而没有未定义的触控点击,将手势触控信号确定为最后的手指交互信号。
进一步的,在104之后,在108之后,在110之后,还需要执行以下步骤:
1101、基于交互类型的初始化坐标和触控坐标,对预置视图进行更新处理。
在本实施例中,minorDownX、minorDownY、majorDownX、majorDownY和beforemarjorX、beforemarjorY、beforeminorX、beforeminorX之间是需要进行界面处理运算,对预置视图进行更新处理,完成手势交互的最后步骤。
在本发明实施例中,通过定义主手指交互和次手指交互的触控逻辑,在抬起触控、按压触控、滑动触控的切换上使用坐标赋值与类型判断方式,将三种触控方式融合在一起,实现了安卓平台的手势的迅速切换和平滑过渡。
上面对本发明实施例中安卓平台的手势切换方法进行了描述,下面对本发明实施例中安卓平台的手势切换装置进行描述,请参阅图2,本发明实施例中安卓平台的手势切换装置一个实施例,所述安卓平台的手势切换装置包括:
初始化模块201,用于初始化预置交互类型的坐标,得到所述交互类型的初始化坐标,其中,所述交互类型包括:主手指交互、次手指交互;
分析模块202,用于接收手势触控信号,以及分析所述手势触控信号,得到手势的触控类型,其中,所述触控类型包括:非抬起触控、抬起触控;
第一判断模块203,用于判断所述手势的触控类型是否为抬起触控;
第一赋值模块204,用于若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标;
第二判断模块205,用于若手势的触控类型为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
第三判断模块206,用于若为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
结束模块207,用于若为最后的手指交互信号,则结束手势的交互过程;
第二赋值模块208,用于若不为最后的手指交互信号,则查询出新的主手指交互,将所述触控坐标赋值给新的主手指交互对应坐标;
第四判断模块209,用于若不为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
第三赋值模块210,用于若不为最后的手指交互信号,则查询出新的次手指交互,将所述触控坐标赋值给新的次手指交互对应坐标。
在本发明实施例中,通过定义主手指交互和次手指交互的触控逻辑,在抬起触控、按压触控、滑动触控的切换上使用坐标赋值与类型判断方式,将三种触控方式融合在一起,实现了安卓平台的手势的迅速切换和平滑过渡。
请参阅图3,本发明实施例中安卓平台的手势切换装置的另一个实施例包括:
所述安卓平台的手势切换装置包括:
初始化模块201,用于初始化预置交互类型的坐标,得到所述交互类型的初始化坐标,其中,所述交互类型包括:主手指交互、次手指交互;
分析模块202,用于接收手势触控信号,以及分析所述手势触控信号,得到手势的触控类型,其中,所述触控类型包括:非抬起触控、抬起触控;
第一判断模块203,用于判断所述手势的触控类型是否为抬起触控;
第一赋值模块204,用于若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标;
第二判断模块205,用于若手势的触控类型为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
第三判断模块206,用于若为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
结束模块207,用于若为最后的手指交互信号,则结束手势的交互过程;
第二赋值模块208,用于若不为最后的手指交互信号,则查询出新的主手指交互,将所述触控坐标赋值给新的主手指交互对应坐标;
第四判断模块209,用于若不为主手指交互,则判断所述手势触控信号是否为最后的手指交互信号;
第三赋值模块210,用于若不为最后的手指交互信号,则查询出新的次手指交互,将所述触控坐标赋值给新的次手指交互对应坐标。
其中,所述非抬起触控包括:按压触控、滑动触控,所述第一赋值模块204具体用于:
若手势的触控类型不为抬起触控时,则判断所述非抬起触控是否为滑动触控;
若非抬起触控不为滑动触控,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标;
若非抬起触控为滑动触控,则获取所述手势触控信号的触控坐标,基于所述交互类型的初始化坐标和所述触控坐标,对预置视图进行更新处理,以及识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标。
其中,所述安卓平台的手势切换装置还包括视图更新模块211,所述视图更新模块211具体用于:
基于所述交互类型的初始化坐标和所述触控坐标,对预置视图进行更新处理。
其中,所述第一赋值模块204还具体用于:
判断所述手势触控信号对应的交互类型是否为主手指交互;
若为主手指交互,则将主手指交互确定为手势交互类型;
若不为主手指交互,则将次手指交互确定为手势交互类型。
其中,所述第三判断模块206具体用于:
判断预置触控界面是否存在触控点击;
若触控界面存在触控点击,则手势触控信号不为最后的手指交互信号;
若触控界面不存在触控点击,则手势触控信号为最后的手指交互信号。
其中,所述第四判断模块209具体用于:
判断预置触控界面是否存在未定义的触控点击;
若存在未定义的触控点击,则将所述未定义的触控点击确定为新的次手指交互;
若不存在未定义的触控点击,则将所述手势触控信号确定为最后的手指交互信号。
在本发明实施例中,通过定义主手指交互和次手指交互的触控逻辑,在抬起触控、按压触控、滑动触控的切换上使用坐标赋值与类型判断方式,将三种触控方式融合在一起,实现了安卓平台的手势的迅速切换和平滑过渡。
上面图2和图3从模块化功能实体的角度对本发明实施例中的安卓平台的手势切换装置进行详细描述,下面从硬件处理的角度对本发明实施例中安卓平台的手势切换设备进行详细描述。
图4是本发明实施例提供的一种安卓平台的手势切换设备的结构示意图,该安卓平台的手势切换设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器420,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对安卓平台的手势切换设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在安卓平台的手势切换设备400上执行存储介质430中的一系列指令操作。
基于安卓平台的手势切换设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作***431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4展示的安卓平台的手势切换设备结构并不构成对基于安卓平台的手势切换设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述安卓平台的手势切换方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种安卓平台的手势切换方法,其特征在于,包括步骤:
初始化预置交互类型的坐标,得到所述交互类型的初始化坐标,其中,所述交互类型包括:主手指交互、次手指交互;
接收手势触控信号,以及分析所述手势触控信号,得到手势的触控类型,其中,所述触控类型包括:非抬起触控、抬起触控;
判断所述手势的触控类型是否为抬起触控;
若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
若为主手指交互,则将主手指交互确定为手势交互类型;
若不为主手指交互,则将次手指交互确定为手势交互类型;
将所述触控坐标赋值给所述手势交互类型的坐标;
若手势的触控类型为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
判断预置触控界面是否存在触控点击;
若触控界面存在触控点击,则手势触控信号不为最后的手指交互信号;
若触控界面不存在触控点击,则手势触控信号为最后的手指交互信号;
若为最后的手指交互信号,则结束手势的交互过程;
若不为最后的手指交互信号,则查询出新的主手指交互,将所述触控坐标赋值给新的主手指交互对应坐标;
判断预置触控界面是否存在未定义的触控点击;
若存在未定义的触控点击,则将所述未定义的触控点击确定为新的次手指交互;
若不存在未定义的触控点击,则将所述手势触控信号确定为最后的手指交互信号;
若不为最后的手指交互信号,则查询出新的次手指交互,将所述触控坐标赋值给新的次手指交互对应坐标。
2.根据权利要求1所述的安卓平台的手势切换方法,其特征在于,所述非抬起触控包括:按压触控、滑动触控。
3.根据权利要求2所述的安卓平台的手势切换方法,其特征在于,所述若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标包括:
若手势的触控类型不为抬起触控时,则判断所述非抬起触控是否为滑动触控;
若非抬起触控不为滑动触控,则获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标;
若非抬起触控为滑动触控,则获取所述手势触控信号的触控坐标,基于所述交互类型的初始化坐标和所述触控坐标,对预置视图进行更新处理,以及识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标。
4.根据权利要求3所述的安卓平台的手势切换方法,其特征在于,在所述获取所述手势触控信号的触控坐标,识别所述手势触控信号对应的交互类型,得到手势交互类型,以及将所述触控坐标赋值给所述手势交互类型的坐标之后,在所述将所述触控坐标赋值给新的主手指交互对应坐标之后,在所述将所述触控坐标赋值给新的次手指交互对应坐标之后,还包括:
基于所述交互类型的初始化坐标和所述触控坐标,对预置视图进行更新处理。
5.一种安卓平台的手势切换装置,其特征在于,所述安卓平台的手势切换装置包括:
初始化模块,用于初始化预置交互类型的坐标,得到所述交互类型的初始化坐标,其中,所述交互类型包括:主手指交互、次手指交互;
分析模块,用于接收手势触控信号,以及分析所述手势触控信号,得到手势的触控类型,其中,所述触控类型包括:非抬起触控、抬起触控;
第一判断模块,用于判断所述手势的触控类型是否为抬起触控;
第一赋值模块,用于若手势的触控类型不为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
还用于若为主手指交互,则将主手指交互确定为手势交互类型;
还用于若不为主手指交互,则将次手指交互确定为手势交互类型;
还用于将所述触控坐标赋值给所述手势交互类型的坐标;
第二判断模块,用于若手势的触控类型为抬起触控时,则获取所述手势触控信号的触控坐标,判断所述手势触控信号对应的交互类型是否为主手指交互;
第三判断模块,用于判断预置触控界面是否存在触控点击;
还用于若触控界面存在触控点击,则手势触控信号不为最后的手指交互信号;
还用于若触控界面不存在触控点击,则手势触控信号为最后的手指交互信号;
结束模块,用于若为最后的手指交互信号,则结束手势的交互过程;
第二赋值模块,用于若不为最后的手指交互信号,则查询出新的主手指交互,将所述触控坐标赋值给新的主手指交互对应坐标;
第四判断模块,用于判断预置触控界面是否存在未定义的触控点击;
还用于若存在未定义的触控点击,则将所述未定义的触控点击确定为新的次手指交互;
还用于若不存在未定义的触控点击,则将所述手势触控信号确定为最后的手指交互信号;
第三赋值模块,用于若不为最后的手指交互信号,则查询出新的次手指交互,将所述触控坐标赋值给新的次手指交互对应坐标。
6.一种安卓平台的手势切换设备,其特征在于,所述安卓平台的手势切换设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述安卓平台的手势切换设备执行如权利要求1-4中任一项所述的安卓平台的手势切换方法。
7.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的安卓平台的手势切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210477746.6A CN114579033B (zh) | 2022-05-05 | 2022-05-05 | 安卓平台的手势切换方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210477746.6A CN114579033B (zh) | 2022-05-05 | 2022-05-05 | 安卓平台的手势切换方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579033A CN114579033A (zh) | 2022-06-03 |
CN114579033B true CN114579033B (zh) | 2023-04-14 |
Family
ID=81785555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210477746.6A Active CN114579033B (zh) | 2022-05-05 | 2022-05-05 | 安卓平台的手势切换方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579033B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914441A (zh) * | 2014-03-13 | 2014-07-09 | 何峰 | 利用手势在触摸屏上进行文档编辑的方法 |
CN108363542A (zh) * | 2018-03-13 | 2018-08-03 | 北京硬壳科技有限公司 | 基于悬浮触控的内容交互方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8077153B2 (en) * | 2006-04-19 | 2011-12-13 | Microsoft Corporation | Precise selection techniques for multi-touch screens |
US8390577B2 (en) * | 2008-07-25 | 2013-03-05 | Intuilab | Continuous recognition of multi-touch gestures |
CN101853133B (zh) * | 2010-05-31 | 2013-03-20 | 中兴通讯股份有限公司 | 一种自动识别手势的方法及移动终端 |
CN102339192B (zh) * | 2010-07-19 | 2015-12-16 | 联想(北京)有限公司 | 电子设备及其显示处理方法 |
CN102541319A (zh) * | 2010-12-20 | 2012-07-04 | 联想(北京)有限公司 | 电子设备及其显示处理方法 |
TWI483162B (zh) * | 2011-03-30 | 2015-05-01 | Edamak Corp | 近接暨觸控面板之多物件偵測方法 |
CN102566908A (zh) * | 2011-12-13 | 2012-07-11 | 鸿富锦精密工业(深圳)有限公司 | 电子设备及其页面缩放方法 |
US20140071171A1 (en) * | 2012-09-12 | 2014-03-13 | Alcatel-Lucent Usa Inc. | Pinch-and-zoom, zoom-and-pinch gesture control |
US10444819B2 (en) * | 2015-06-19 | 2019-10-15 | Intel Corporation | Techniques to control computational resources for an electronic device |
CN107402655A (zh) * | 2016-05-19 | 2017-11-28 | 北京小米移动软件有限公司 | 手势操作响应方法及装置 |
CN109408138A (zh) * | 2018-09-26 | 2019-03-01 | 浙江万朋教育科技股份有限公司 | 一种使用手势操作切换客户端启动环境及配置参数的方法 |
CN111427500A (zh) * | 2020-03-20 | 2020-07-17 | Oppo广东移动通信有限公司 | 触摸屏手势操作控制方法、装置、终端设备以及存储介质 |
-
2022
- 2022-05-05 CN CN202210477746.6A patent/CN114579033B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914441A (zh) * | 2014-03-13 | 2014-07-09 | 何峰 | 利用手势在触摸屏上进行文档编辑的方法 |
CN108363542A (zh) * | 2018-03-13 | 2018-08-03 | 北京硬壳科技有限公司 | 基于悬浮触控的内容交互方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114579033A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11205143B2 (en) | Utilizing a machine learning model and natural language processing to manage and allocate tasks | |
US5974384A (en) | Window control apparatus and method having function for controlling windows by means of voice-input | |
US9152529B2 (en) | Systems and methods for dynamically altering a user interface based on user interface actions | |
CN104750378B (zh) | 输入法的输入模式自动切换方法及装置 | |
CN108829371B (zh) | 界面控制方法、装置、存储介质及电子设备 | |
JPH0823805B2 (ja) | 情報入力装置 | |
EP1055168A1 (en) | A method and system for gesture category recognition and training | |
CN112988185A (zh) | 云应用更新方法、装置、***、电子设备及存储介质 | |
JPH0887378A (ja) | マウス動作認識によるコマンド実行方式 | |
CN116306396A (zh) | 芯片验证方法及装置、设备和介质 | |
CN114091672B (zh) | 分布式模型推理方法及装置、电子设备和介质 | |
CN114579033B (zh) | 安卓平台的手势切换方法、装置、设备及存储介质 | |
JP2019109924A (ja) | 情報処理システム、情報処理方法、プログラム | |
CN115981542A (zh) | 一种触摸屏的智能交互触摸控制方法、***、设备及介质 | |
CN114495173A (zh) | 一种姿态识别方法、装置、电子设备及计算机可读介质 | |
CN107967363A (zh) | 一种数据处理方法、装置及电子设备 | |
CN107728841B (zh) | 基于中标麒麟操作***的多点触控方法及*** | |
WO2015016623A1 (ko) | 웹 브라우저의 화면 표시 방법 | |
CN112579587A (zh) | 数据清洗方法及装置、设备和存储介质 | |
CN110908573A (zh) | 算法模型训练方法、装置、设备及存储介质 | |
CN110825477A (zh) | 图形界面的加载方法、装置、设备及存储介质 | |
RU2300129C1 (ru) | Способ ввода данных | |
EP4186838A1 (en) | Elevator control method, control device, and control program | |
JP7347529B2 (ja) | 操作支援システム、操作支援方法および操作支援プログラム | |
US20230054688A1 (en) | Systems and methods for determining gui interaction information for an end user device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Building 1901, 1902, 1903, Qianhai Kexing Science Park, Labor Community, Xixiang Street, Bao'an District, Shenzhen, Guangdong Province Applicant after: Shenzhen Flash Scissor Intelligent Technology Co.,Ltd. Address before: 518000 Unit 9ABCDE, Building 2, Haihong Industrial Plant Phase II, Haihong Industrial Plant, West Side of Xixiang Avenue, Labor Community, Xixiang Street, Bao'an District, Shenzhen, Guangdong Applicant before: Shenzhen big brother Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |