CN106325668B - 触摸事件响应处理方法及系统 - Google Patents
触摸事件响应处理方法及系统 Download PDFInfo
- Publication number
- CN106325668B CN106325668B CN201610664229.4A CN201610664229A CN106325668B CN 106325668 B CN106325668 B CN 106325668B CN 201610664229 A CN201610664229 A CN 201610664229A CN 106325668 B CN106325668 B CN 106325668B
- Authority
- CN
- China
- Prior art keywords
- view
- touch event
- sub
- user
- level
- 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
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/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- 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
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)
- User Interface Of Digital Computer (AREA)
Abstract
本公开是关于一种触摸事件响应处理方法及系统。该方法包括:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;当接收到触摸事件时,判断所述触摸事件发生的位置;当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。本公开通过设置层级不同的视图,使得触摸事件能够分别对不同层级的视图进行操作。
Description
技术领域
本公开涉及人机交互技术领域,更具体地,涉及一种触摸事件响应处理方法及系统。
背景技术
随着移动通信技术的快速发展,在触控终端上出现了越来越多的触控应用。在触控应用的运行过程中,触控终端按照一定的布局向用户呈现各个视图以及操作界面。
目前,在一些触控应用中,需要不同的视图(View)来对触摸事件进行响应,以实现不同的功能。例如,在一些游戏应用中,一方面,需要对游戏引擎视图上的UI(UserInterface,用户界面)控件进行触摸控制,以实现虚拟角色的攻击、行走、对话等操作;另一方面,需要对地图视图(MapView)进行触摸控制,以实现地图的滑动、缩放、点击等操作。
然而,在地图视图的层级高于游戏引擎视图的层级的情况下,即在游戏引擎视图上渲染地图视图的情况下,地图视图会覆盖游戏引擎视图,导致游戏引擎视图上的UI控件无法显示。
另一方面,在游戏引擎视图的层级高于地图视图的层级的情况下,虽然可以在地图视图上方显示游戏引擎视图的UI控件,但是由于游戏引擎视图是全屏显示,所以触摸事件被游戏引擎视图拦截而导致地图不能进行正常的滑动、缩放、点击等操作。
此外,希望的是,先由游戏引擎视图接收触摸事件,在游戏引擎视图不响应触摸事件的情况下,才将触摸事件传递至地图视图。然而,无论在iOS平台还是在Android平台下,触摸事件都只能从子视图传递给父视图,无法在同样层级的两个视图之间传递,并且游戏引擎视图不能作为地图视图的子视图,所以这种方案也不可行。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种触摸事件响应处理方法及系统,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开实施例的第一方面,提供一种触摸事件响应处理方法,所述方法包括:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;当接收到触摸事件时,判断所述触摸事件发生的位置;当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。
本公开的一种示例性实施例中,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。
本公开的一种示例性实施例中,所述用户交互视图的各个子视图采用节点树的形式进行管理,所述方法还包括:将所述各个子视图添加到相应平台的渲染节点上。
本公开的一种示例性实施例中,所述用户交互视图包括一个或者多个用户交互接口,所述方法还包括:采用相应平台的原生语言编写所述用户交互接口。
本公开的一种示例性实施例中,所述方法还包括:给所述用户交互视图的各个子视图分别设置唯一的标识;保存所述唯一的标识与各个子视图之间的映射关系。
本公开的一种示例性实施例中,所述方法还包括:配置第三视图,其中所述第三视图的层级低于所述第二视图的层级。
根据本公开实施例的第二方面,提供一种触摸事件响应处理系统,所述系统包括:配置模块,用于配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;判断模块,用于当接收到触摸事件时,判断所述触摸事件发生的位置;第一响应模块,用于当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;第二响应模块,用于当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。
本公开的一种示例性实施例中,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。
本公开的一种示例性实施例中,所述用户交互视图的各个子视图采用节点树的形式管理,所述系统还包括:添加模块,用于将各个子视图添加到相应平台的渲染节点上。
本公开的一种示例性实施例中,所述用户交互视图包括采用相应平台的原生语言编写的一个或者多个用户交互接口。
本公开的一种实施例中的触摸事件响应处理方法及系统,可以通过配置层级比第二视图的层级高的第一视图,并且通过判断触摸事件的位置来确定响应该触摸事件的视图。与现有技术相比,不会形成一个视图阻拦另一视图操作的情况,使得触摸事件能够分别对不同层级的视图进行操作。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了本公开的示例性实施例中的一种触摸事件响应处理方法的流程图;
图2示意性示出了本公开的示例性实施例中的各个视图的一种节点树管理方式的示意图;
图3示意性示出了本公开的示例性实施例中的各个视图的另一种节点树管理方式的示意图;
图4示意性示出了本公开的示例性实施例中的另一种触摸事件响应处理方法的流程图;
图5示意性示出了本公开示例性实施例中一种触摸事件响应处理系统的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例性实施方式中首先提供了一种触摸事件响应处理方法,该触摸事件响应处理方法主要应用于一触控终端。该触控终端例如可以为手机、平板电脑、笔记本电脑、游戏机、PDA(Personal Digital Assistant,掌上电脑)等各种具备触控屏幕的电子设备。但需要说明的是,在部分非触控终端中也可能通过模拟器等方式将键盘以及鼠标操作模拟为触控操作,这种方式同样可以视为本公开中所述的触控终端。参考图1,所述触摸事件响应处理方法可以包括以下步骤。
S11:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级。
在示例性实施例中,所述第一视图可以为用户交互视图(UI View)。
在示例性实施例中,所述第二视图可以为地图视图,例如在游戏引擎下集成的第三方的LBS(Location Based Service,基于位置服务)地图。需要说明的是,本发明并不以此为限,所述第二视图可以是触控终端中任意一个相关的应用。
需要说明的是,本发明实施例中的视图(View)可以是代表屏幕上的一个矩形区域。其中各种UI控件都属于View。例如,iOS平台上所有能看到的内容都是View或其子类。
下面的实施例中以所述第一视图为用户交互视图,第二视图为地图视图为例进行说明。
其中所述用户交互视图UI View维护一个UIView的节点树,UIView是相应平台中所有UI控件的父类。
在示例性实施例中,可以通过应用平台上的一接口将用户交互视图的层级设置成高于地图视图的层级。例如,在iOS平台下,所述接口可以为UIView中的sendSubViewToBack。但本发明不以此为限,可以根据应用平台的不同,选择相应的接口完成该层级高低的设置。
其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种,但本发明不以此为限。
针对这些按钮视图、文字视图、图片视图,可以通过节点树的形式进行管理。图2示出了示例性实施例中的一种节点树的管理形式。在平台的根节点的下一层可以包括用户交互视图和地图视图,两者之间是兄弟节点。例如,UIView根节点下由可以包括图片视图1、按钮视图、文字视图以及图片视图2等子视图。其中最上面的根节点可以是相应平台的根节点。
各个子视图的节点树管理形式并不以此为限。如图3所示,在这些子视图(如:按钮视图、文字视图、图片视图)与UIView根节点之间还可以存在多个子视图,这些子视图可以作为所述按钮视图、文字视图、图片视图的父视图,并可以用于对所述子视图进行进一步管理,本示例性实施方式中对此不做特殊限定。
例如,UIView根节点的下一层包括三个子视图:子视图1、子视图2、和子视图3。其中,子视图1的下一层又可以包括图片视图1和按钮视图,子视图2的下一层又可以包括图片视图2,子视图3的下一层又可以包括图片视图3和文字视图。这里图片视图1和按钮视图是子视图1的子视图(下级视图);反之,子视图1是图片视图1和按钮视图的父视图(上级视图)。同理,图片视图2是子视图2的子视图,子视图2是图片视图2的父视图。
需要说明的是,虽然上述图3例举了UIView的三层节点树管理形式,但实际上UIView可以是二层或者二层以上的任意层节点树管理形式,各个节点层中的各个子视图中包括的图片视图、按钮视图、文字视图的数量也不受限制。
在示例性实施例中,所述方法还包括:配置第三视图,其中所述第三视图的层级低于所述第二视图的层级。
其中所述第三视图也可以是安装于触控终端中的任意应用,例如游戏引擎视图。
继续参考图3,游戏引擎视图、用户交互视图以及地图视图之间是兄弟节点的关系。其中游戏引擎视图的层级低于地图视图的层级,地图视图的层级低于用户交互视图的层级。这里游戏引擎视图不用于UI交互,UI控件的显示由UIView来完成。
现有技术中,游戏引擎视图用于承载游戏中所有场景和UI。由于游戏引擎视图为全屏显示,所以在地图视图的层级高于游戏引擎视图的情况下,游戏引擎视图的UI控件被地图视图覆盖而无法显示。本发明为了解决这一问题,开发了一个用户交互视图,该用户交互视图可以形成UIView根节点。该UIView包括游戏引擎视图的各个UI控件,这些UI控件可以作为该UIView根节点的子视图。在这种情况下,游戏引擎视图不再进行UI交互。
在示例性实施例中,所述方法还包括:针对不同的平台,将这些子视图添加到对应的渲染节点上。例如,针对iOS平台,可以将这些子视图添加到UIWindow上;针对Android平台,可以将这些子视图添加到Dialog上。
根据本公开的示例性实施方式,所述触摸事件响应处理方法还可以包括给UIView根节点视图的各个子视图分别设置唯一的标识,并且保存所述唯一的标识与各个子视图之间的映射关系。
也就是说,每一个子视图都具有一个唯一的id,用于唯一标识该子视图。例如,可以通过字典的形式对其映射关系进行保存,在所述UIView中,存在一个字典并对该字典进行维护,该字典记录了每一个子视图与其对应的id的映射关系。
当添加一子视图时,可以把该子视图与其对应的id的映射关系保存在字典中。
另外,当删除一子视图时,相应地,在字典中也删除该子视图与其对应的id的映射关系。
另外,当需要将一子视图添加到某个父节点上时,首先可以在字典中查找出该父节点,然后再完成子视图的添加操作。
此外,当需要对一子视图进行修改时,可以通过字典将该子视图找出,并执行修改操作。
在本公开的示例性实施方式中,UIView还可以包括一个或者多个UI接口。所述UI接口可以包括显示图片、按钮、文字以及缩放、旋转等操作的接口。这些接口可以具有不同的功能。
其中int UI_addView(int parentUiId,float posX,float posY,float width,float height);用于实现往节点树中加入一个视图,此视图会接收并拦截触摸事件,一般作为一组UI组件的父节点使用。传入父节点id(如果为0则添加到根节点)、坐标位置和矩形大小,将把此视图添加到指定的父节点上,并返回此视图的id。
int UI_addImage(int parentUiId,char*imgData,int data_len,float posX,float posY);用于往节点树中加入一张图片,传入该图片的数据以及位置,其中该图片为一子视图,并且将此图片添加到指定的父节点上,并返回这个子视图的id。
int UI_addScale9Image(int parentUiId,char*imgData,int data_len,floatposX,float posY,float width,float height,float capInset1,float capInset2,float capInset3,float capInset4);类似UI_addImage,但允许图片的九宫格显示。
void UI_changeImage(int uiId,char*imgData,int data_len);用于修改一张图片的数据。
int UI_addButton(int parentUiId,char*imgData_normal,int data_len_normal,char*imgData_over,int data_len_over,float posX,float posY,intcallbackId,char*imgData_disabled,int data_len_disabled);用于往节点树中加入一个按钮,传入父节点id、位置、各个状态的图片数据,以及回调的id,在按钮被点击时,将调用预先设好的回调函数,并把回调id传回给脚本,以便做按钮点击回调的处理。
int UI_addLabel(int parentUiId,float posX,float posY,const char*text,const char*font,int size,float r,float g,float b,int strokeWidth,floatstrokeR,float strokeG,float strokeB,float fixedWidth);用于往节点树中加入一串文字,传入父节点id、文字的位置、内容、字体、大小、颜色、描边等信息,返回该文字的唯一id。
此外,这些接口还包括删除所有子视图的接口、设置子视图进行旋转的接口、设置子视图的透明度的接口、移动子视图到指定位置的接口等。
例如,void UI_removeUI(int uiId);用于把一个UI组件从节点树中删除。
void UI_removeAllUI();用于删除所有的UI组件。
void UI_getFrame(int uiId,float&x,float&y,float&w,float&h);用于获得一个UI组件的矩形区域,包括位置和大小。
void UI_moveUI(int uiId,float posX,float posY,float time);用于移动一个UI组件到某个特定的位置。
void UI_setUIScale(int uiId,float scaleX,float scaleY,float time);用于设置一个UI组件的缩放。
void UI_setUIRotation(int uiId,float angle,float time);用于设置一个UI组件的旋转。
void UI_setUIOpacity(int uiId,float opacity,float time);用于设置一个UI组件的透明度。
void UI_setLabelText(int labelUiId,const char*text);用于修改一个文字类型UI组件的文字内容,仅支持文字组件。
void UI_setButtonEnabled(int buttonId,bool enabled);用于设置一个按钮类型UI组件是否可点击,仅支持按钮组件。
void UI_setUIVisible(int uiId,bool visible);用于设置一个UI组件的显示/隐藏。
然而,本发明不限于此,还可以具有各种功能的接口。
为了更好地解决触摸事件在不同层级之间的传递问题,优选地采用原生语言对所述UI接口进行编写。例如,针对iOS平台,采用Objective-C或swift对所述UI接口进行编写;针对Android平台,采用Java对所述UI接口进行编写,但不限于此,其他应用平台可以使用其相应的原生语言对所述UI接口进行编写。
将编写好的各个UI接口统一封装,再导出给脚本调用。在本公开的示例性实施方式中,脚本所采用的语言是Python,但不限于此,还可以使用其他脚本语言,本示例性实施方式中对此不做特殊限定。
S12:当接收到触摸事件时,判断所述触摸事件发生的位置。
其中所述触摸事件可以是用户的手指或触摸笔触发的触摸事件,但是不限于此,也可能通过模拟器等方式将键盘或鼠标操作模拟为触摸操作,本示例性实施方式中对此不做特殊限定。
S13:当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应。
对应于本公开的示例性实施方式,由于UI View的层级高于地图视图的层级,如果触摸事件发生在UI View的某个子视图上,该触摸事件会传递给UI View,从而执行相应的UI操作。在这种情况下,无需考虑地图视图。
S14:当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。
对应于本公开的示例性实施方式,在这种情况下,触摸的区域不在UI View上,仅地图视图接收到触摸事件,此时,地图视图可以响应于触摸事件而执行地图的滑动、缩放、点击等操作。这样,既可以在地图上方显示UI,又可以使得地图正常操作。
图4示意性示出了本公开的示例性实施例中的另一种触摸事件响应处理方法的流程图。
参考图4,所述触摸事件响应处理方法可以包括以下步骤:
S21:配置一非全屏显示的UI View。
S22:配置地图视图,设置所述UI View的层级高于所述地图视图的层级。
S23:判断是否接收到触摸事件;当接收到所述触摸事件时,进入步骤S24;反之,继续判断是否接收到触摸事件。
S24:判断所述触摸事件发生在UI View区域;当所述触摸事件发生在UI View区域时,进入步骤S25;反之,跳转到步骤S26。
S25:所述UI View对所述触摸事件进行响应。完成相应的UI操作后,继续跳回到步骤S23判断是否接收到下一个触摸事件。
S26:所述地图视图对所述触摸事件进行响应。完成相应的UI操作后,继续跳回到步骤S23判断是否接收到下一个触摸事件。
本发明实施方式的其他内容参见上述实施方式,在此不再赘述。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,参考图5中所示,本示例实施方式中还提供了一种触摸事件响应处理系统1,所述触摸事件响应处理系统1可以包括配置模块11、判断模块12、第一响应模块13和第二响应模块14。
其中配置模块11用于配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级。
判断模块12用于当接收到触摸事件时,判断所述触摸事件发生的位置。
第一响应模块13用于当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应。
第二响应模块14用于当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。
本示例性实施例中,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。
本示例性实施例中,所述用户交互视图的各个子视图采用节点树的形式管理,所述系统还包括:添加模块,用于将各个子视图添加到相应平台的渲染节点上。
本示例性实施例中,所述用户交互视图包括采用相应平台的原生语言编写的一个或者多个UI接口。
由于本发明实施方式的程序运行性能分析装置的各个功能模块与上述方法发明实施方式中相同,因此在此不再赘述。
应当注意,尽管在上文详细描述中提及了程序运行性能分析装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (9)
1.一种触摸事件响应处理方法,其特征在于,包括:
配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级,所述第一视图维护UIView的节点树,并形成UIView的根节点;
配置第三视图,其中所述第三视图的层级低于所述第二视图的层级,所述UIView包括所述第三视图的各个UI控件,各个UI控件作为UIView根节点的子视图;
当接收到触摸事件时,判断所述触摸事件发生的位置;
当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;
当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。
2.根据权利要求1所述的触摸事件响应处理方法,其特征在于,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。
3.根据权利要求2所述的触摸事件响应处理方法,其特征在于,所述用户交互视图的各个子视图采用节点树的形式进行管理,所述方法还包括:
将所述各个子视图添加到相应平台的渲染节点上。
4.根据权利要求2所述的触摸事件响应处理方法,其特征在于,所述用户交互视图包括一个或者多个用户交互接口,所述方法还包括:
采用相应平台的原生语言编写所述用户交互接口。
5.根据权利要求2至4中任一项所述的触摸事件响应处理方法,其特征在于,所述方法还包括:
给所述用户交互视图的各个子视图分别设置唯一的标识;
保存所述唯一的标识与各个子视图之间的映射关系。
6.一种触摸事件响应处理系统,其特征在于,包括:
配置模块,用于配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级,所述第一视图维护UIView的节点树,并形成UIView的根节点;还用于配置第三视图,其中所述第三视图的层级低于所述第二视图的层级,所述UIView包括所述第三视图的各个UI控件,各个UI控件作为UIView根节点的子视图;
判断模块,用于当接收到触摸事件时,判断所述触摸事件发生的位置;
第一响应模块,用于当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;
第二响应模块,用于当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。
7.根据权利要求6所述的触摸事件响应处理系统,其特征在于,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。
8.根据权利要求7所述的触摸事件响应处理系统,其特征在于,所述用户交互视图的各个子视图采用节点树的形式管理,所述系统还包括:
添加模块,用于将各个子视图添加到相应平台的渲染节点上。
9.根据权利要求7所述的触摸事件响应处理系统,其特征在于,所述用户交互视图包括采用相应平台的原生语言编写的一个或者多个用户交互接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610664229.4A CN106325668B (zh) | 2016-08-11 | 2016-08-11 | 触摸事件响应处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610664229.4A CN106325668B (zh) | 2016-08-11 | 2016-08-11 | 触摸事件响应处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106325668A CN106325668A (zh) | 2017-01-11 |
CN106325668B true CN106325668B (zh) | 2019-10-18 |
Family
ID=57740406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610664229.4A Active CN106325668B (zh) | 2016-08-11 | 2016-08-11 | 触摸事件响应处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106325668B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107715454B (zh) | 2017-09-01 | 2018-12-21 | 网易(杭州)网络有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN107844255B (zh) * | 2017-10-10 | 2021-02-19 | 惠州Tcl移动通信有限公司 | 触摸事件响应控制方法、智能设备及存储装置 |
CN109782983B (zh) * | 2017-11-13 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 应用程序界面的视图布局调整方法和装置 |
CN108153600B (zh) * | 2017-12-26 | 2021-09-28 | 深圳Tcl数字技术有限公司 | 一种面板按键响应方法、电视设备及计算机可读存储介质 |
CN109254823B (zh) * | 2018-09-21 | 2022-02-22 | 武汉华中时讯科技有限责任公司 | 一种切换多级嵌套的分页视图元素的方法、存储器及终端 |
CN109358801A (zh) * | 2018-09-27 | 2019-02-19 | 武汉华中时讯科技有限责任公司 | 检测多级视图元素触摸事件的装置、方法及存储介质 |
CN109584341B (zh) * | 2018-11-15 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 在画板上绘图的方法及装置 |
CN111208929B (zh) * | 2020-01-03 | 2021-11-02 | 广州虎牙科技有限公司 | 多层级界面的响应方法、装置、设备及存储介质 |
CN113608816B (zh) * | 2021-08-18 | 2023-05-23 | 北京字跳网络技术有限公司 | 进度的调整方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526880A (zh) * | 2008-03-04 | 2009-09-09 | 苹果公司 | 触摸事件模型 |
CN103294389A (zh) * | 2012-02-24 | 2013-09-11 | 三星电子株式会社 | 在终端中处理触摸输入的装置和方法 |
CN104461573A (zh) * | 2014-12-23 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种视图层次的控制处理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566044B2 (en) * | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US10216408B2 (en) * | 2010-06-14 | 2019-02-26 | Apple Inc. | Devices and methods for identifying user interface objects based on view hierarchy |
-
2016
- 2016-08-11 CN CN201610664229.4A patent/CN106325668B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526880A (zh) * | 2008-03-04 | 2009-09-09 | 苹果公司 | 触摸事件模型 |
CN103294389A (zh) * | 2012-02-24 | 2013-09-11 | 三星电子株式会社 | 在终端中处理触摸输入的装置和方法 |
CN104461573A (zh) * | 2014-12-23 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种视图层次的控制处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106325668A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106325668B (zh) | 触摸事件响应处理方法及系统 | |
US10642604B2 (en) | Workflow generation and editing | |
US10503255B2 (en) | Haptic feedback assisted text manipulation | |
US8788979B2 (en) | Secondary actions on a notification | |
CN102981728B (zh) | 语义缩放 | |
US9563352B2 (en) | Accessing a menu utilizing a drag-operation | |
CN102135858B (zh) | 具有用于控制和修改手势识别的代表的手势识别器 | |
AU2011376310B2 (en) | Programming interface for semantic zoom | |
CN102763074B (zh) | 自动键盘布局确定 | |
US20130132878A1 (en) | Touch enabled device drop zone | |
CN108369456A (zh) | 用于触摸输入设备的触觉反馈 | |
US20180129482A1 (en) | Generation of application behaviors | |
CN102763079A (zh) | 用自定义控件取代键盘的应用程序编程接口(api) | |
CN103052935A (zh) | 用于对对象的前后位置进行重新排序的装置、方法和图形用户接口 | |
MX2014002955A (es) | Entrada de formula para dispositivos de presentacion limitada. | |
CN106033301B (zh) | 应用程序桌面管理方法及触屏终端 | |
US20180356901A1 (en) | Unified input and invoke handling | |
CN102054217A (zh) | 基于元模型的工具中的实体变形 | |
CN107491502A (zh) | 一种选择词条的方法及终端 | |
CN107257956B (zh) | 具有自动升级的分层数据表面处理配置的方法及系统 | |
US20090132917A1 (en) | Methods and systems for generating a visual user interface | |
CN107220377B (zh) | 搜索方法、电子设备及计算机存储介质 | |
CN108052212A (zh) | 一种输入文字的方法、终端及计算机可读介质 | |
CN114237457A (zh) | 一种显示方法和装置、电子设备及存储介质 | |
CN109085983A (zh) | 操作控制方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |