【技术实现步骤摘要】
【国外来华专利技术】分层定位事件分派
本公开大体涉及图形用户界面,并且更具体涉及在图形用户界面中接收和处理触摸事件和其它定位事件。
技术介绍
图形用户界面(GUI)使得能够使用多个窗口或视图,通过所述多个窗口或视图可以向用户显示信息或者可以从用户接收输入。通常,此输入是通过使用触摸屏、触控板、鼠标、或其它位置输入组件来提供的。在常规系统中,用户经由位置输入组件与GUI的交互采取一个或多个定位事件的形式,每个定位事件具有相对于系统的显示空间的二维位置。对于这些定位事件中的每一个,底层GUI框架操作来将输入事件分派(dispatch)给意图视图以供处理。通常,GUI实现当前显示的视图的视图层次(也常常被称为“视图树”),并且表示这些视图之间的父子关系。因此,输入事件的分派通常涉及往视图层次向下分派输入事件。在许多实例下,随着输入事件遍历该视图层次,定位事件可以被意图视图的父视图拦截或者修改,诸如以虑及触摸“倾溢(slop)”或在不同类型的手势输入之间进行区分。在由此要求每个子视图被完全包含在父视图的有界框内的GUI配置中,往视图层次向下分派视图事件是相对直接的,因为每个父视图基于定位事件的地点与有界框重叠或者在父视图对象的界限内而接收父视图,并且父视图仅需要将输入事件传递给与定位事件地点重叠的任何一个子视图对象。然而,出于美学原因或其它设计原因可能期望提供子视图对象的定位不受其父视图对象的有界框限制的视图布局。在这样的实例下,意图用于特定视图的输入事件的地点可以不落在该特定视图的父视图对象的边界内。将视图对象约束成仅接受视图对象的有界框内的定位事件的常规的基于空间的分层事件分派过 ...
【技术保护点】
1.一种由电子设备执行的方法,所述方法包括:在所述电子设备的显示器处显示视图的布局;以及响应于经由所述电子设备的用户输入组件检测到与所述布局相关联的定位事件:基于所述定位事件的地点来识别视图的所述布局的终端视图;从所述布局构造所述终端视图的一个或多个祖先视图的祖先链;以及从所述祖先链的根视图开始在所述祖先链中顺序地分派所述定位事件。
【技术特征摘要】
【国外来华专利技术】2016.01.06 US 14/989,0871.一种由电子设备执行的方法,所述方法包括:在所述电子设备的显示器处显示视图的布局;以及响应于经由所述电子设备的用户输入组件检测到与所述布局相关联的定位事件:基于所述定位事件的地点来识别视图的所述布局的终端视图;从所述布局构造所述终端视图的一个或多个祖先视图的祖先链;以及从所述祖先链的根视图开始在所述祖先链中顺序地分派所述定位事件。2.根据权利要求1所述的方法,其中:显示视图的所述布局包括:显示具有有界框的第一视图;以及至少部分地在所述有界框外部显示第二视图,所述第二视图包括所述第一视图的子视图;识别所述布局的所述终端视图包括将所述第二视图识别为所述终端视图;构造所述祖先链包括在所述祖先链中将所述第一视图识别为所述第二视图的祖先;以及顺序地分派所述定位事件包括在将所述定位事件分派给所述第二视图之前将所述定位事件分派给所述第一视图。3.根据权利要求2所述的方法,其中:顺序地将所述定位事件分派给所述第一视图包括禁用或者绕过由所述第一视图对定位事件的基于有界框的过滤。4.根据权利要求1至3中的任一项所述的方法,其中:在所述祖先链中顺序地分派所述定位事件包括:沿循所述祖先链顺序地将所述定位事件分派给每个视图,直到所述祖先链的视图消费或修改所述定位事件、或者所述终端视图拒绝所述定位事件为止。5.根据权利要求4所述的方法,其中:所述定位事件是表示由用户执行的手势的定位事件的序列的初始定位事件;并且所述方法进一步包括:将所述序列中的其它定位事件分派给所述祖先链的消费或修改了所述初始定位事件的视图。6.根据权利要求1至5中的任一项所述的方法,进一步包括:提供将所述布局的每个视图映射到与所述布局相关联的显示空间中的一个或多个对应位置的数据结构;以及其中,识别所述终端视图包括:使用所述定位事件的地点基于对所述数据结构的查找来识别所述终端视图。7.根据权利要求6所述的方法,其中,提供所述数据结构包括:将所述数据结构作为条目的二维阵列来提供,所述阵列的每个条目与所述显示器的显示空间的对应像素块相关联并且包括一个或多个子条目,每个子条目被配置成存储具有与所述显示空间中的该像素块重叠的位置的对应视图的标识符。8.根据权利要求7所述的方法,其中,识别所述终端视图包括:识别所述阵列的与位于所述定位事件的位置处的像素块相关联的条目;以及选择由下述子条目表示的视图作为所述终端视图:该子条目表示由所识别的条目的子条目表示的所有视图的最低绘制次序。9.根据权利要求1至8中的任一项所述的方法,进一步包括:识别视图的所述布局的哪些视图被配置成消费或者修改定位事件;提供包括所识别的视图的列表的数据结构;以及其中,识别所述终端视图包括:使用所述定位事件的地点和所识别的视图的列表中的视图的位置来执行命中测试。10.一种电子设备,包括:显示器,所述显示器用于显示视图的布局;用户输入组件,所述用户输入组件被布置成接收表示定位事件的输入;定位事件处理程序组件,所述定位事件处理程序组件被布置成检测所述定位事件;注册表管理组件,所述注册表管理组件用于基于所述定位事件的地点来识别视图的所述布局的终端视图;视图树管理组件,所述视图树管理组件被布置成从所述布局构造所述终端视图的一个或多个祖先视图的祖先链;以...
【专利技术属性】
技术研发人员:克里斯托弗·克雷克,亚当·威廉·鲍威尔,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。