[发明专利]避免触控事件被拦截以触发给多元件执行的系统及其方法无效
申请号: | 201210388579.4 | 申请日: | 2012-10-12 |
公开(公告)号: | CN103729172A | 公开(公告)日: | 2014-04-16 |
发明(设计)人: | 丁科 | 申请(专利权)人: | 英业达科技有限公司;英业达股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F3/0484 |
代理公司: | 北京市浩天知识产权代理事务所 11276 | 代理人: | 靳春鹰;刘云贵 |
地址: | 201114 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 避免 事件 拦截 触发 多元 执行 系统 及其 方法 | ||
技术领域
本发明涉及一种元件触发系统及其方法,尤其涉及一种避免触控事件被拦截以触发给多元件执行的系统及其方法。
背景技术
在某些手机操作系统上执行的应用程序中,属于视图(View)类别(Class)的元件必须是多层嵌套的,且触发事件(Touch Event)必须由上层的元件分发(dispatch)到下层,然后由下层的元件优先开始处理触发事件,并依据处理情况的布尔(boolean)值选择是否将触发事件返回给上层。
当触发事件发生时,最顶层的元件的触发事件分发(dispatchTouchEvent)方法(method)会接收到触发事件并进行分发,若触发事件分发方法的返回值(return value)为“真(true)”,则最顶层的元件的触发事件处理(onTouchEvent)方法会处理触发事件,而若返回值为“假(false)”,则最顶层的元件的触发事件拦截(inInterceptTouchEvent)方法会决定是否要拦截触发事件,若触发事件拦截方法的返回值为真,则表示触发事件拦截方法拦截了触发事件,最顶层的元件的触发事件处理方法会处理触发事件,因此,下层的子元件不会取得触发事件,而若触发事件拦截方法的返回值为假,则最顶层的元件的子元件的触发事件分发方法可以接收到最顶层的元件的触发事件分发方法所分发的触发事件,并进行分发,这样,每一个元件下层的子元件都会重复相同的步骤,直到触发事件处理完成为止。
其中,当触发事件传递到子元件的触发事件处理方法时,该触发事件处理方法会处理触发事件,并返回处理情况的布尔值,若返回值为真,则该子元件的上层元件的触发事件分发方法会直接将后续的触发事件分发给该子元件,而若返回值为假,触发事件会被传送到该子元件的上层元件的触发事件处理方法。当触发事件的处理情况的布尔值传递到最顶层的元件的触发事件处理方法的返回值也是假时,触发事件就会被丢弃(消失),而且最顶层的元件将接收不到下一次的触发事件。
上述的过程可以保证每个触发事件只能由一个元件来处理,但也因此,其他的元件将无法同时处理触发事件,这样,若用户要触发两个元件执行,则必须产生两次触发事件。
综上所述,可知现有技术中长期以来一直存在部分手机操作系统只允许一个触发事件由一个元件处理的问题,因此有必要提出改进的技术手段,来解决这一问题。
发明内容
有鉴于现有技术存在部分手机操作系统只允许一个触发事件由一个元件处理的问题,本发明遂揭露一种避免触控事件被拦截以触发给多元件执行的系统及其方法,其中:
本发明所揭露的避免触控事件被拦截以触发给多元件执行的系统,至少包含:多个元件,在应用程序的操作区域中重叠,各元件属于视图类别,且各元件都包含触控事件处理方法,其中,元件的触控事件处理方法的返回值固定为假;容器,属于视图组(ViewGroup)类别,包含触控事件处理方法及元件,容器的触控事件处理方法的返回值固定为真,用以在接收到触控事件时,将触控事件作为参数,呼叫元件的触控事件处理方法,由此使各元件都接收到触控事件,并执行与触控事件对应的处理程序。
本发明所揭露的避免触控事件被拦截以触发给多元件执行的方法,其步骤至少包括:建立属于视图组类别的容器,容器中的触控事件处理方法的返回值固定为真;在容器中加入属于视图类别的元件,各元件在应用程序的操作区域中重叠,且各元件中的触控事件处理方法的返回值固定为假;当容器接收到触控事件时,容器将触控事件作为参数,呼叫元件的触控事件处理方法,由此使各元件都接收到该触控事件,并执行与触控事件对应的处理程序。
本发明所揭露的系统与方法如上,与现有技术之间的差异在于本发明通过建立属于视图组类别的容器,并覆写容器的触控事件处理方法,使其返回值固定为真,及覆写加入容器中的元件的触控事件处理方法,使其返回值为假,这样,当容器接收到触控事件时,容器可以将触控事件作为参数,呼叫元件的触控事件处理方法,使各元件都接收到该触控事件,由此解决现有技术所存在的问题,并可以达成在触发事件与元件互不影响(也就是触发事件不会被元件消除)的情况下,让元件同时处理触发事件的技术效果。
附图说明
图1为本发明所述的避免触控事件被拦截以触发给多元件执行的系统架构图。
图2A为本发明所述的避免触控事件被拦截以触发给多元件执行的方法流程图。
图2B为本发明所述的撰写容器原始码的详细方法流程图。
图3为本发明所述的触控屏幕的显示画面示意图。
主要部件附图标记:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英业达科技有限公司;英业达股份有限公司,未经英业达科技有限公司;英业达股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210388579.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:护盾式TBM洞内始发分体式反力架
- 下一篇:一种水封洞库套管锚固装置