一种移动终端上的触摸消息响应方法和装置制造方法

文档序号:6521986阅读:134来源:国知局
一种移动终端上的触摸消息响应方法和装置制造方法
【专利摘要】本发明公开了移动终端上的触摸消息响应方法和装置:当接收到针对任一应用界面的触摸消息时,获取该应用界面对应的各界面控件的层次结构;从第一层或第二层开始,针对其中的每个界面控件,分别进行如下处理:b1、依次确定该界面控件是否符合以下两个条件:该界面控件可见、触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求;一旦不符合任一个条件,则结束处理;如果两个均符合,则执行b2;b2、确定是否存在该界面控件的下一层子控件,如果是,则针对作为下一层子控件的每个界面控件,分别重复执行b1,否则,当该界面控件具备响应能力时,由该界面控件对触摸消息进行响应。应用本发明所述方案,能够加快响应速度等。
【专利说明】一种移动终端上的触摸消息响应方法和装置
【技术领域】
[0001]本发明涉及移动终端技术,特别涉及一种移动终端上的触摸消息响应方法和装置。
【背景技术】
[0002]随着技术的发展,移动终端程序应用逐渐成为主流的应用平台,而且,现有移动终端多采用触摸屏,因此,对触摸消息进行响应成为移动终端的主要特点。所述触摸消息,是指通过触摸屏幕产生的消息,包括触及、滑动等。对于用户来说,更快的响应速度会带来更好的使用体验等。
[0003]当前,对于消息的响应方式通常为:当接收到任一消息时,对相关的全部界面控件进行是否可以响应该消息的遍历性筛选,并由筛选出来的界面控件对该消息进行响应。所述界面控件,是指应用界面上显示的可以操作的区域和表现单元等,如按钮和菜单栏等。
[0004]但是,上述方式在实际应用中会存在一定的问题,如:当界面控件数量很多时,遍历过程将会耗费很长的时间,从而降低了响应速度。

【发明内容】

[0005]有鉴于此,本发明提供了一种移动终端上的触摸消息响应方法和装置,能够加快响应速度。
[0006]为了达到上述目的,本发明的技术方案是这样实现的:
[0007]一种移动终端上的触摸消息响应方法,包括:
[0008]A、当接收到针对任一应用界面的触摸消息时,获取该应用界面对应的各界面控件的层次结构,其中,对于相邻的两层,下一层中的每个界面控件均为属于上一层中的一个界面控件的子控件;
[0009]B、从第一层或第二层开始,针对其中的每个界面控件,分别进行如下处理:
[0010]bl、依次确定该界面控件是否符合以下两个条件:该界面控件可见、所述触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求;一旦不符合任一个条件,则结束对该界面控件的处理;如果两个均符合,则执行步骤b2 ;
[0011]b2、确定是否存在该界面控件的下一层子控件,如果是,则针对作为下一层子控件的每个界面控件,分别重复执行步骤bl,否则,当该界面控件具备响应能力时,由该界面控件对所述触摸消息进行响应。
[0012]一种移动终端上的触摸消息响应装置,包括:
[0013]第一处理模块,用于当接收到针对任一应用界面的触摸消息时,获取该应用界面对应的各界面控件的层次结构,并发送给第二处理模块;其中,对于相邻的两层,下一层中的每个界面控件均为属于上一层中的一个界面控件的子控件;
[0014]所述第二处理模块,用于从第一层或第二层开始,针对其中的每个界面控件,分别进行第一预定处理,包括:依次确定该界面控件是否符合以下两个条件:该界面控件可见、所述触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求;一旦不符合任一个条件,则结束对该界面控件的处理;如果两个均符合,则执行第二预定处理;所述第二预定处理包括:确定是否存在该界面控件的下一层子控件,如果是,则针对作为下一层子控件的每个界面控件,分别重复执行所述第一预定处理,否则,当该界面控件具备响应能力时,由该界面控件对所述触摸消息进行响应。
[0015]可见,采用本发明所述方案,当接收到针对某一应用界面的触摸消息时,根据该应用界面对应的各界面控件的层次结构,基于可见性和位置等,采用逐层深入的方式,对各界面控件进行筛选,一旦某一层中的某一个界面控件不符合要求,那么该界面控件下属的各子控件也就无需再进行筛选;从而相比于现有技术中对各界面控件进行遍历性筛选的方式,明显加快了筛选速度,进而加快了触摸消息的响应速度。
【专利附图】

【附图说明】
[0016]图1为本发明移动终端上的触摸消息响应方法实施例的流程图。
[0017]图2为本发明各界面控件的层次结构示意图。
[0018]图3为本发明各界面控件在界面中的排布位置示意图。
[0019]图4为本发明移动终端上的触摸消息响应装置实施例的组成结构示意图。
【具体实施方式】
[0020]针对现有技术中存在的问题,本发明中提出一种移动终端上的触摸消息响应方案,能够加快响应速度等。
[0021]为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
[0022]图1为本发明移动终端上的触摸消息响应方法实施例的流程图。如图1所示,包括以下步骤11?14。
[0023]步骤11:当接收到针对任一应用界面的触摸消息时,获取该应用界面对应的各界面控件的层次结构,其中,对于相邻的两层,下一层中的每个界面控件均为属于上一层中的一个界面控件的子控件。
[0024]在实际应用中,设计人员在编辑/设计应用时,可将该应用相关的各界面控件按照层次关系记录到可扩展标记语言(XML, Extensible Markup Language)文件中,也就是说,所述XML文件中记录有该应用界面对应的各界面控件的层次关系,通常,对于相邻的两层,下一层中的每个界面控件均为属于上一层中的一个界面控件的子控件。
[0025]另外,XML文件中还可进一步记录有:每个界面控件的属性信息,包括:该界面控件是否可见、该界面控件的坐标位置,以及该界面控件是否具备响应能力等等。
[0026]如何生成相应的XML文件为现有技术。
[0027]后续,可通过对XML文件进行解析,得到该应用界面对应的各界面控件的层次结构以及各界面控件的属性信息,并可保存到内存中。
[0028]图2为本发明各界面控件的层次结构示意图。如图2所示,假设共包括三种类型的界面控件,分别为控制(control)类型的界面控件、图片(picture)类型的界面控件和按钮(button)类型的界面控件;其中,control类型的界面控件和picture类型的界面控件之间为父子关系,即picture类型的界面控件为control类型的界面控件的子控件,同样,picture类型的界面控件和button类型的界面控件之间为父子关系,即button类型的界面控件为picture类型的界面控件的子控件。
[0029]图3为本发明各界面控件在界面中的排布位置示意图。如图3所示,各界面控件之间的父子关系如图2中所示。
[0030]步骤12:从第一层或第二层开始,针对其中的每个界面控件,分别按照步骤13?14所示方式进行处理。
[0031]步骤13:依次确定该界面控件是否符合以下两个条件:该界面控件可见、触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求;一旦不符合任一个条件,则结束对该界面控件的处理;如果两个均符合,则执行步骤14。
[0032]较佳地,触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求是指:触摸消息对应的坐标位置位于该界面控件的坐标范围之内。
[0033]步骤14:确定是否存在该界面控件的下一层子控件,如果是,则针对作为下一层子控件的每个界面控件,分别重复执行步骤13,否则,当该界面控件具备响应能力时,由该界面控件对触摸消息进行响应。
[0034]对于各层界面控件来说,第一层中的界面控件的个数通常为一个,且是可见的,如图3中所示的control类型的界面控件。在实际应用中,通常从该层的下一层开始进行筛选,所述下一层中通常至少会包括两个界面控件,如图3中所示的界面控件picturel、picture2和picture3。当然,理论上来说,也可以从第一层开始进行筛选。
[0035]另外,如果某个界面控件是不可见的,那么理论上该界面控件是不需要响应触摸消息的,因此可以被裁减掉,即不对其进行后续处理。比如,图3中所示的界面控件picturel是不可见的,那么该界面控件及其下属的界面控件即可被裁减掉。
[0036]再有,如果触摸消息对应的坐标位置位于某一界面控件的坐标范围之外,那么该界面控件也不需要响应触摸消息,同时,该界面控件下属的界面控件也不需要响应触摸消息,因此可以被裁减掉。比如,触摸消息的坐标位置位于图3中所示的界面控件picturel的坐标范围之内,那么图3中所示的界面控件picture及其下属的界面控件即可被裁减掉。
[0037]根据XML布局文件的层次,深层次的界面控件的渲染在浅层次的界面控件之上,因此消息响应的顺序需要与界面控件的渲染顺序正好相反,优先探测深层次的界面控件对消息的响应,即使用深度优先算法。如果一个触摸消息被某一深层次的界面控件响应了,那么通常来说该触摸消息就不需要再被其它界面控件响应了。
[0038]综上,以图3中所示的界面控件picturd为例,对本发明所述方案作进一步说明。假设界面控件button2可见,且触摸消息对应的坐标位置位于界面控件button2的坐标范围之内,且界面控件button2具备响应能力。
[0039]具体实现流程如下:
[0040]确定界面控件picture2是否可见;
[0041]确定结果为是,进一步确定触摸消息对应的坐标位置是否位于界面控件picture2的坐标范围之内;
[0042]确定结果为是,进一步确定界面控件picture2是否存在子控件;
[0043]确定结果为是,存在子控件button2,进一步确定界面控件button2是否可见;[0044]确定结果为是,进一步确定触摸消息对应的坐标位直是否位于界面控件button2的坐标范围之内;
[0045]确定结果为是,进一步确定界面控件button2是否存在子控件;
[0046]确定结果为否,进一步确定界面控件button2是否具备响应能力;
[0047]确定结果为是,由界面控件button2对触摸消息进行响应,此时,即便界面控件picture2也具备响应能力,界面控件picture2也无需再对触摸消息进行响应。
[0048]另外,在实际应用中还可能会出现以下情况:
[0049]如果界面控件button2不具备响应能力,而界面控件picture2具备响应能力,那么也可由界面控件picture2来对触摸消息进行响应;
[0050]如果触摸消息对应的坐标位置位于界面控件button2的坐标范围之外,但位于界面控件picture2的坐标范围之内,而界面控件picture2又具备响应能力,那么可由界面控件picture2来对触摸消息进行响应,如果界面控件picture2也不具备响应能力,那么则可不对触摸消息进行响应;
[0051]如果界面控件picture2进一步包括一个子控件button2’,而button2不满足响应要求,即:该界面控件可见、触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求,以及该界面控件具备响应能力,但界面控件button2’满足响应要求,则会由界面控件button2’来对触摸消息进行响应,此时,即便界面控件picture2也具备响应能力,界面控件picture2也无需再对触摸消息进行响应;
[0052]其它可能的情况不再一一赘述,总之,优先探测深层次的界面控件对触摸消息的响应。
[0053]基于上述介绍,图4为本发明移动终端上的触摸消息响应装置实施例的组成结构示意图。如图4所示,包括:
[0054]第一处理模块,用于当接收到针对任一应用界面的触摸消息时,获取该应用界面对应的各界面控件的层次结构,并发送给第二处理模块;其中,对于相邻的两层,下一层中的每个界面控件均为属于上一层中的一个界面控件的子控件;
[0055]第二处理模块,用于从第一层或第二层开始,针对其中的每个界面控件,分别进行第一预定处理,包括:依次确定该界面控件是否符合以下两个条件:该界面控件可见、所述触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求;一旦不符合任一个条件,则结束对该界面控件的处理;如果两个均符合,则执行第二预定处理;所述第二预定处理包括:确定是否存在该界面控件的下一层子控件,如果是,则针对作为下一层子控件的每个界面控件,分别重复执行所述第一预定处理,否则,当该界面控件具备响应能力时,由该界面控件对所述触摸消息进行响应。
[0056]其中,
[0057]第一处理模块还可进一步用于,获取预先生成的该应用界面对应的XML文件,XML文件中记录有该应用界面对应的各界面控件的层次关系,通过对XML文件进行解析,得到该应用界面对应的各界面控件的层次结构。
[0058]另外,
[0059]XML文件中还可进一步记录有:每个界面控件的属性信息;
[0060]每个界面控件的属性信息包括:该界面控件是否可见、该界面控件的坐标位置,以及该界面控件是否具备响应能力;
[0061]相应地,第一处理模块还可进一步用于,在解析得到该应用界面对应的各界面控件的层次结构的同时,得到各界面控件的属性信息,并连同该应用界面对应的各界面控件的层次结构一起发送给第二处理模块。
[0062]具体地,
[0063]第二处理模块确定触摸消息对应的坐标位置是否位于该界面控件的坐标范围之内,如果是,则确定触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求。
[0064]图4所示装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
[0065]综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种移动终端上的触摸消息响应方法,其特征在于,包括: A、当接收到针对任一应用界面的触摸消息时,获取该应用界面对应的各界面控件的层次结构,其中,对于相邻的两层,下一层中的每个界面控件均为属于上一层中的一个界面控件的子控件; B、从第一层或第二层开始,针对其中的每个界面控件,分别进行如下处理: bl、依次确定该界面控件是否符合以下两个条件:该界面控件可见、所述触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求;一旦不符合任一个条件,则结束对该界面控件的处理;如果两个均符合,则执行步骤b2 ; b2、确定是否存在该界面控件的下一层子控件,如果是,则针对作为下一层子控件的每个界面控件,分别重复执行步骤bl,否则,当该界面控件具备响应能力时,由该界面控件对所述触摸消息进行响应。
2.根据权利要求1所述的方法,其特征在于, 该方法进一步包括:预先生成该应用界面对应的可扩展标记语言XML文件,所述XML文件中记录有该应用界面对应的各界面控件的层次关系; 通过对所述XML文件进行解析,得到该应用界面对应的各界面控件的层次结构。
3.根据权利要求2所述的方法,其特征在于, 所述XML文件中进一步记录有:每个界面控件的属性信息; 每个界面控件的属性信息包括:该界面控件是否可见、该界面控件的坐标位置,以及该界面控件是否具备响应能力; 所述获取该应用界面对应的各界面控件的层次结构的同时,进一步包括:获取各界面控件的属性信息。
4.根据权利要求1所述的方法,其特征在于, 所述触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求包括:所述触摸消息对应的坐标位置位于该界面控件的坐标范围之内。
5.一种移动终端上的触摸消息响应装置,其特征在于,包括: 第一处理模块,用于当接收到针对任一应用界面的触摸消息时,获取该应用界面对应的各界面控件的层次结构,并发送给第二处理模块;其中,对于相邻的两层,下一层中的每个界面控件均为属于上一层中的一个界面控件的子控件; 所述第二处理模块,用于从第一层或第二层开始,针对其中的每个界面控件,分别进行第一预定处理,包括:依次确定该界面控件是否符合以下两个条件:该界面控件可见、所述触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求;一旦不符合任一个条件,则结束对该界面控件的处理;如果两个均符合,则执行第二预定处理;所述第二预定处理包括:确定是否存在该界面控件的下一层子控件,如果是,则针对作为下一层子控件的每个界面控件,分别重复执行所述第一预定处理,否则,当该界面控件具备响应能力时,由该界面控件对所述触摸消息进行响应。
6.根据权利要求5所述的装置,其特征在于, 所述第一处理模块进一步用于,获取预先生成的该应用界面对应的可扩展标记语言XML文件,所述XML文件中记录有该应用界面对应的各界面控件的层次关系;通过对所述XML文件进行解析,得到该应用界面对应的各界面控件的层次结构。
7.根据权利要求6所述的装置,其特征在于, 所述XML文件中进一步记录有:每个界面控件的属性信息; 每个界面控件的属性信息包括:该界面控件是否可见、该界面控件的坐标位置,以及该界面控件是否具备响应能力; 所述第一处理模块进一步用于,在解析得到该应用界面对应的各界面控件的层次结构的同时,得到各界面控件的属性信息,并连同该应用界面对应的各界面控件的层次结构一起发送给所述第二处理模块。
8.根据权利要求5所述的装置,其特征在于, 所述第二处理模块确定所述触摸消息对应的坐标位置是否位于该界面控件的坐标范围之内,如果是,则确定所述触摸消息对应的坐标位置与该界面控件的坐标位置之间的关系符合预定要求。`
【文档编号】G06F3/0488GK103677518SQ201310638445
【公开日】2014年3月26日 申请日期:2013年12月2日 优先权日:2013年12月2日
【发明者】薛群 申请人:北京像素软件科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1