轻解除管理器的制作方法

文档序号:12287676阅读:228来源:国知局
轻解除管理器的制作方法与工艺

屏幕上元素的偶然调用对于触摸屏应用来说具有潜在高的恢复成本。当显示弹出式用户接口时,一些触摸屏应用需要额外的敲击或点击,以便在用户可以与屏幕元素上的其它部分进行交互之前,解除(dismiss)该弹出式用户接口。这种行为可以向用户提供更高的舒适感,知道位于弹出式用户接口之外任何地方的敲击都将只解除该弹出式用户接口,而无需考虑该敲击将执行什么样的动作。但是,由于不执行与屏幕上元素相关联的命令,该行为可能使屏幕上元素看起来被破坏,而使用户感到沮丧。



技术实现要素:

提供下面的概括以便用简化的形式介绍将在以下的详细描述中进一步描述的构思的选择。本概括并不是旨在标识所主张的主题的关键特征或本质特征,也不是旨在用于限制所主张的主题的保护范围。

在各种实施方式中,计算设备可以被配置为对应用用户接口中的轻解除(light dismiss)行为进行管理。计算设备可以对用于应用用户接口的轻解除管理器进行实例化。轻解除管理器从应用用户接口的渲染的用户接口表面接收用于注册事件传递区域的请求,以及接收将在应用用户接口中打开新的轻解除用户接口表面的通知。轻解除管理器确定排除事件传递区域的透明阻挡面板的形状。当在应用用户接口中打开新的轻解除用户接口表面时,在该新的轻解除用户接口表面之下渲染该透明阻挡面板。响应于针对该渲染的用户接口表面的可见部分的输入事件,该新的轻解除用户接口被关闭,并且与渲染的用户接口表面的可见部分相关联的命令被执行。

在阅读了下面的详细描述和查看了附图之后,这些和其它方面与优点将变得显而易见。应当理解的是,前面的概括、下面的详细描述和所附附图只是解释性的,而不是对所主张的各个方面的限制。

附图说明

图1示出了根据所描述的主题的方面的示例性架构的实施例。

图2A-C示出了根据所描述的主题的方面的轻解除管理器和各种用户接口表面之间的示例性通信。

图3A和图3B示出了根据所描述的主题的方面的示例性阻挡面板实现。

图4A-E示出了根据所描述的主题的方面的轻解除行为的示例性实施方式。

图5A-D示出了根据所描述的主题的方面的轻解除行为的示例性实施方式。

图6示出了根据所描述的主题的方面的示例性过程的实施例。

图7示出了可以实现所描述的主题的方面的示例性操作环境的实施例。

图8示出了可以实现所描述的主题的方面的示例性移动计算设备的实施例。

具体实施方式

下面结合附图提供的详细描述旨在作为一些例子的描述,而不是旨在表示其中可以构造或者使用本文所给出的例子的仅有形式。说明书阐述了这些例子的功能,以及用于构造和操作这些例子的步骤序列。但是,不同的例子可以完成相同或者等同的功能和序列。

对于“一个实施例”、“实施例”、“示例性实施例”、“一个实施方式”、“实施方式”、“一个例子”、“例子”等等的引用指示所描述的实施例、实施方式或者例子可以包括特定的特征、结构或特性,但每一个实施例、实施方式或者例子可以并不必需包括该特定的特征、结构或特性。此外,这样的短语并不必需指代同一个实施例、实施方式或者例子。此外,当结合实施例、实施方式或者例子来描述特定的特征、结构或者特性时,应当领会的是,可以结合其它实施例、实施方式或者例子来实施这样的特征、结构或特性,而不管是否显式地描述。

为了对所描述的主题的一个或多个方面有一个透彻理解,阐述了众多的具体细节。但是,应当领会的是,可以在不使用这些具体细节的情况下实践这样的方面。虽然为了描述一个或多个方面,以框图形式示出了某些组件,但应当理解的是,由单个组件执行的功能可以由多个组件来执行。类似地,单个组件可以被配置为执行被描述为由多个组件执行的功能。

现参照附图来更详细地描述本公开内容的各个方面,其中,类似的附图标记通常贯穿全文地指代类似或者相应的元素。这些附图和详细描述并不旨在将所主张的主题限制于所描述的特定形式。相反,本发明旨在覆盖落入所主张的主题的精神和保护范围之内的所有修改、等同物或替代物。

图1示出了用户体验框架100,其作为根据所描述的主题的示例性架构的实施例。应当领会的是,用户体验框架100或者其一部分可以由各种计算设备来实现,并且在各个实施例中,用户体验框架100可以由软件、硬件、固件或者其组合来实现。

在被配置为根据所描述的主题的方面来执行各个步骤、方法和/或功能的计算设备和/或计算机系统的上下文中,描述了用户体验框架100的实施方式。应当领会的是,计算机系统可以由一个或多个计算设备来实现。还在“计算机可执行指令”的上下文中描述用户体验框架100的实施方式,其中,执行这些“计算机可执行指令”来实现根据所描述的主题的方面的各个步骤、方法和/或功能。

通常,计算设备和/或计算机系统可以包括一个或多个处理器和存储设备(例如,存储器和磁盘驱动器)以及各种输入设备、输出设备、通信接口和/或其它类型的设备。计算设备和/或计算机系统还可以包括硬件和软件的组合。应当领会的是,各种类型的计算机可读存储介质可以是计算设备和/或计算机系统的一部分。如本文所使用的,术语“计算机可读存储媒体”和“计算机可读存储介质”并不意味和明确地排除传播信号、调制的数据信号、载波波形或者任何其它类型的暂时性计算机可读介质。在各种实施方式中,计算设备和/或计算机系统可以包括被配置为执行计算机可执行指令和计算机可读存储介质(例如,存储器和/或另外的硬件存储单元)的处理器,其中,所述计算机可执行指令和计算机可读存储介质存储有被配置为根据所描述的主题来执行各个步骤、方法和/或功能的计算机可执行指令。

计算机可执行指令可以以各种方式来体现和/或实现,例如,通过计算机程序(例如,客户端程序和/或服务器程序)、软件应用(例如,客户端应用和/或服务器应用)、软件代码、应用代码、源代码、可执行文件、可执行组件、程序模块、例程、应用编程接口(API)、功能、方法、对象、属性、数据结构、数据类型和/或类似方式。计算机可执行指令可以被存储在一个或多个计算机可读存储介质上,并且可以由一个或多个处理器、计算设备和/或计算机系统执行,以执行特定任务或者实现根据所描述的主题的方面的特定数据类型。

用户体验框架100可以由诸如客户端设备101-106之类的一个或多个计算设备来实现。将客户端设备101示出为个人计算机(PC)。将客户端设备102示出为膝上型计算机。将客户端设备103示出为智能电话。将客户端设备104示出为平板设备。将客户端设备105和客户端设备106示出为电视和媒体设备(例如,媒体和/或游戏控制台、机顶盒等等)。应当理解的是,为了说明的目的,提供了客户端设备101-106的数量和类型。被配置为根据所描述的主题的方面来提供服务器托管的服务、基于云的服务和/或在线服务的计算机系统的一个或多个计算设备也可以实现用户体验框架100。

在使用与用户有关的数据的实施方式中,用户体验框架100和/或提供和/或支持用户体验框架100的计算设备(例如,客户端设备101-106、计算机系统的计算设备)可以采用对于用户隐私和信息保护感兴趣的各种机制。这样的机制可以包括但不限于:需要授权来对数据进行监测、收集或者报告;使得用户能够选择加入和选择退出数据监测、收集和报告;采用隐私规则来防止某些数据被监测、收集或者报告;提供用于对被许可监测、收集或者报告的敏感性数据进行匿名、截断或者模糊化的功能;采用数据保留策略来保护和清除数据;和/或用于保护用户隐私的其它适当的机制。

如图所示,用户体验框架100可以由被配置用于以下各项的一个或多个计算机程序模块来实现:轻解除管理、轻解除管理器实现、用户接口注册、轻解除用户接口通知和阻挡面板实现。用户体验框架100的计算机程序模块可以由存储在一个或多个计算机可读存储介质上并被实现为执行根据所描述的主题的方面的各个步骤、方法和/或功能的计算机可执行指令来实现。虽然以框图形式示出这些计算机程序模块来描述某种功能,但应当理解的是,由单个计算机程序模块执行的功能可以由多个计算机程序模块来执行,并且单个计算机程序模块可以被配置为执行被描述为由多个计算机程序模块执行的功能。

在一些场景中,当向用户呈现某种类型的用户接口(UI)表面时,应用可能需要用户通过点击“X”或“关闭”按钮,显式地从屏幕中解除该UI表面。但是,对于触摸是接口的主要模式的各种应用来说,在很多场景下,通常优选的是,每当用户在给定的UI表面的边界之外采取行动时,都从屏幕中“轻解除”某些UI表面。

轻解除管理模块110可以被配置为:向应用提供对针对各种场景的轻解除行为进行定制,和/或在各种应用中实现一致的轻解除行为的能力。可以针对包括但不限于以下各项的各种UI表面,来控制轻解除行为:对象上UI、命令表面、控件、弹出式视窗(flyout)、标注(callout)、窗格、框(box)、条带(ribbon)、菜单表面、弹出式窗口(pop-up)、弹出式菜单(pop-over)等等。根据所描述的主题,可以针对对各种类型的用户输入进行响应的UI表面,实现轻解除管理,所述用户输入包括但不限于:触摸输入(例如,敲击、滑动、姿势等等)、鼠标输入、键盘(物理或虚拟)输入、笔输入和/或其它类型的用户输入。

轻解除管理器实现模块111可以被配置为:实现用于应用用户接口的轻解除管理器。对于特定的应用而言,轻解除管理器和/或其一部分可以被实现为对由该应用所提供的UI表面的轻解除行为进行控制。应当领会的是,不同的UI表面可以以各种各样的方式来实现轻解除行为。因此,可以将轻解除管理器设计成:围绕轻解除行为来管理各种场景的集中式控制。例如,轻解除管理器可以被配置为支持实现多个轻解除UI表面,以在多个轻解除UI表面(例如,对象上UI、命令表面、控件等等)之中保持一致的行为的场景。

可以针对包括但不限于以下各项的各种应用,来实现轻解除管理器:文字处理应用、电子表格应用、幻灯片呈现应用、笔记记录应用、电子邮件应用、文本消息应用、以及使得用户能够选择、授权和/或编辑内容的其它类型的应用。因此,应用可以确定和/或决定如何对点击和/或敲击进行处理,以及可以如何采用轻解除管理器来完成期望的轻解除行为。轻解除管理器可以由在桌面型计算机、触摸屏和/或移动设备上提供的用户接口来使用,并且可以跨越各种形状因子、架构和/或应用来实现。

在一个实施例中,轻解除管理器类的实例可以被实例化或者对齐成被实现为每一视窗对象的轻解除管理器对象,例如,主视窗对象(例如,CoreWindow对象)等等。轻解除管理器类可以与主视窗(例如,CoreWindow)相分离和/或独立,使得主视窗可以在全局导出函数之内被获取,并作为构造器参数被传递给轻解除管理器类。可以通过静态方法来获取主视窗,所述静态方法允许轻解除管理器实例在轻解除UI表面之内被获取。在一些实施方式中,轻解除管理器对象可以是在第一次使用时被实例化并保证将被摧毁的轻解除管理器类的单例对象。

在另一个实施例中,可以将轻解除管理器对象实现为每一应用框架用户接口(例如,AppFrameUI)对象。可以向轻解除UI表面的实例给予到轻解除管理器的引用,其可以沿着可扩展应用标记语言(XAML)树来传递。这样的方法可以通过打破或松开轻解除UI表面和轻解除管理器之间的耦合(这可以产生更佳的组件并更容易被测试框架使用)来提供益处。

轻解除管理器对象可以依赖于从其获取根视觉元素,并用于引用轻解除行为的边界和坐标的静态视窗对象。轻解除管理器对象(例如,每一视窗对象、每一应用框架UI对象)可以与视窗对象具有1:1映射。因此,在存在多个视窗的场景中,可以存在多个轻解除管理器实例。在其它实施例中,例如,在依赖于单个视窗并因此依赖于一个根元素的场景中,可以将轻解除管理器对象实现为全局对象。

虽然每一视窗对象都可以实例化轻解除管理器,但实施例并不限于该上下文。例如,可以存在具有包含关系的多个视窗实例或者对象的场景,比如电子邮件应用嵌入文字处理应用。因此,可以实现轻解除管理器来解决这样的场景,使得只实例化轻解除管理器的一个实例。

采用一个或多个轻解除UI表面的应用可以实现用于获取轻解除管理器的实例的代码。在一种实施方式中,可以通过调用诸如全局方法(例如,GetLightDissmissManger)之类的方法,来获取轻解除管理器。该方法可以被规定为和/或操作为(例如,经由GET方法)获取针对当前线程的当前主视窗(例如,核心视窗)的实例,以及(例如,经由GET方法)获取轻解除管理器类的实例。该方法可以被规定为和/或操作为请求每一主应用视窗对象(例如,核心视窗对象)的轻解除管理器对象。如果从当前主应用视窗中发现轻解除管理器,则返回该轻解除管理器。例如,当前主应用视窗可以包含能用于查找轻解除管理器的引用或者键。如果没有发现轻解除管理器或者其不存在,则可以创建轻解除管理器的实例。

轻解除用户接口通知模块112可以被配置为接收和发送针对轻解除UI表面的通知。当新的和/或子轻解除UI表面(其父亲为和/或锚定到现有的轻解除UI表面)即将出现时,可以接收到通知,使得可以为该新的和/或子轻解除UI表面准备适当的解除机制。当检测到解除事件时,可以向一个或多个活动的轻解除UI表面(例如,打开的新的和/或子轻解除UI表面、没有被锚定到该新的和/或子轻解除UI表面的活动的轻解除UI表面)发送用于指示解除事件应当或者将要导致解除的通知。

轻解除管理器可以规定与可以解除或者关闭活动的(例如,当前可见、打开的)轻解除UI表面的事件相对应的事件类型的集合。一种解除事件可以是:当新的轻解除UI表面(其不是活动的轻解除UI表面的子节点)将要打开时(例如,OtherSurfaceAboutToShow)。例如,在一些实施方式中,在一个时间,只准许一个活动的轻解除UI表面是活动的,除非单独的轻解除UI表面处于父子关系。因此,创建不是子轻解除UI表面的新的轻解除UI表面可以对现有的轻解除UI表面进行解除。

另一个解除事件可以是:当已在活动的轻解除UI表面的边界之外或者锚定的活动的轻解除UI表面的边界之外检测到敲击或者点击(例如,PointerPressed)时。在活动的轻解除UI表面(其没有被锚定到子轻解除UI表面)的边界之外进行敲击或者点击将解除活动的轻解除UI表面。当子轻解除UI表面被锚定到父轻解除UI表面时,在轻解除UI表面树的边界之外进行敲击或者点击将一起解除父轻解除UI表面和子轻解除UI表面。

另一种解除事件可以是:当已经按下退出(Esc)键(例如,EscapeKeyPressed)时。在一些实施方式中,按下退出键将解除活动的轻解除UI表面,如果该活动的轻解除UI表面具有焦点的话。例如,如果用户构建轻解除窗格,随后从该窗格中调用颜色选择器标注,则按下退出键可以解除颜色选择器标注,并且第二次按下退出键可以解除轻解除窗格。

另一个解除事件可以是:当应用已经被去激活时(例如,AppDeactivated)。另一个解除事件可以是:当视窗大小已经被改变时(例如,WindowSizeChanged)。在一些实施方式中,当应用失去焦点时(例如,经由Alt-tab、Snapped-View、Charms调用、Edgy和/或其它操作系统层级命令),当视窗被调整大小时,和/或进入后台时,可以解除所有目前的轻解除UI表面。

轻解除管理器还可以规定用于各种事件类型(例如,窗格打开和关闭事件)的解除事件变元。这些事件变元可以指定事件类型,以及轻解除UI表面是否实际地被解除或者由于该事件而将要被解除。

轻解除管理器可以被配置为对解除事件(例如,其它轻解除UI将要打开、在活动的轻解除UI表面的边界之外点击或者敲击、按下退出键、应用去激活、视窗大小改变等等)进行侦听。在一些实施方式中,主应用视窗可以指定用于视窗对象和输入事件的接口(例如,ICoreWindow)以及用户接口行为。因此,XAML组件可以接收用户的输入事件。在这样的实施方式中,轻解除管理器可以对诸如指针按下事件(例如,ICoreWindow的PointerPressed事件)之类的输入事件进行侦听,所述输入事件检测敲击、点击和姿势(例如,收缩(pinch)、滑动等等)。轻解除管理器可以实现用于确定点击点或者触摸点是落入在活动的轻解除UI表面之内还是之外的逻辑。

用户接口注册模块113可以被配置为接收用于注册事件传递区域的请求,其中,在该事件传递区域,当轻解除UI表面可见时,将执行点击和/或敲击。应用、应用用户接口和/或应用用户接口表面可以利用轻解除管理器来注册排除区域或者事件传递区域,使得在存在活动的轻解除UI表面时,可见的某些用户接口表面将接收和执行也服务于解除一个或多个活动的轻解除UI表面的输入事件。因此,应用可以确定和/或决定如何对点击和/或敲击进行处理,以及可以如何采用轻解除管理器来完成期望的轻解除行为。当存在活动的轻解除UI表面时,将点击和/或敲击传递到用于执行的条带或者窗格是这样的场景的一个例子。

阻挡面板实现模块114可以被配置为确定排除事件传递区域以及将被渲染在活动的轻解除UI表面之下的阻挡面板的形状。在一个实施例中,当显示轻解除UI表面时,可以由将输入事件吸收或“吃入”到UI(例如,XAML)表面的阻挡面板,来实现缺省的轻解除行为。初始地,可以将阻挡面板实现为在活动的轻解除UI表面之后跨度整个应用窗的全屏的、透明UI表面(例如,矩形)。阻挡面板将不影响主应用视窗接口(例如,ICoreWindow),使得轻解除管理器将仍然接收和检测输入事件。将接收到针对阻挡面板的用户输入事件,以解除活动的轻解除UI表面。此外,该阻挡面板还不会影响针对与该阻挡面板相交迭的活动的轻解除UI表面的输入事件。

各种UI表面可以规定其中阻挡面板不进行阻挡和/或不被实现的排除区域,使得用户输入事件穿过这样的区域以便执行。通常,排除区域或者事件传递区域可以对应于如下表面区域:完全可见并且没有以任何方式被活动的轻解除UI表面的显示遮挡的UI表面的表面区域。但是,在一些情况下,排除区域或者事件传递区域可以对应于如下表面区域:可见的并且没有被活动的轻解除UI表面的显示遮挡的UI表面的一部分的表面区域。

轻解除管理器可以向应用提供对针对各种场景的轻解除行为进行定制(例如,使用情况、模式等等),和/或在各种应用中实现一致的轻解除行为的能力。

轻解除管理器可以对轻解除行为进行管理,使得:如果不存在活动的轻解除UI表面,则给定的可见UI表面上的任何敲击或点击将被传递到应用,并被立即执行。该轻解除管理器可以对轻解除行为进行管理,使得:如果存在活动的轻解除UI表面(例如,来自画布的标注),则某些区域中的点击和/或敲击(例如,注册的排除/事件传递区域)将解除任何活动的轻解除UI表面,并将传递到应用以便执行。轻解除管理器可以对轻解除行为进行管理,使得:如果存在活动的轻解除UI表面,则其它区域(例如,没有被注册为排除/事件传递区域的UI表面)中的点击和/或敲击将解除任何活动的轻解除UI表面,并将不会传递到应用以便执行。

轻解除管理器可以对轻解除行为进行管理,使得:如果存在活动的轻解除UI表面,则发生以下情形:(i)针对条带或窗格(例如,应用和/或视窗的谷歌浏览器(chrome))内的任何敲击或点击将始终传递到该条带或者窗格,并将被立即执行;(ii)该敲击和/或点击还将解除任何存在的轻解除UI表面,除非用户的动作在轻解除UI表面之内;(iii)针对画布中的点击和/或敲击将解除活动的轻解除UI表面;(iv)针对画布中的点击和/或敲击将解除活动的轻解除UI表面,但将不被吸收或吃掉,所以该点击和/或敲击不会传递到应用以便执行;以及在用于解除活动的轻解除UI表面的针对画布中的点击和/或敲击之后进行的针对画布中的点击和/或敲击将传递到应用以便执行。

轻解除管理器可以对轻解除行为进行管理,使得:如果轻解除UI表面被锚定到另一个轻解除UI表面(例如,具有打开子菜单打开的浮动菜单条、具有标注的轻解除窗格),则发生以下情形:(i)针对画布内的任何敲击和/或点击将对两个轻解除UI表面一起解除;(ii)针对画布中的敲击和/或点击将被吸收或吃掉,所以该点击和/或敲击不会传递到应用以便执行;以及(iii)针对条带或窗格内的任何敲击或点击将始终传递到应用以便执行。

轻解除管理器可以对轻解除行为进行管理,使得:当在应用处于某种模式(例如,阅读模式、幻灯模式)的同时呈现活动的轻解除UI表面时,任何点击或者敲击点击都将解除任何活动的轻解除UI表面,并将始终传递给条带、窗格或者画布。

轻解除管理器可以对轻解除行为进行管理,使得:如果在不存在任何活动的轻解除UI表面的情况下呈现弹出式条带,则发生以下情形:(i)所有敲击和/或点击都将执行;以及(ii)位于该弹出式条带之外的敲击和/或点击将解除该弹出式条带。

轻解除管理器可以对轻解除行为进行管理,使得:如果在存在活动的轻解除UI表面(例如,弹出式条带子菜单)的情况下呈现弹出式条带,则发生以下情形:(i)针对该弹出式条带内的所有点击和/或敲击都将执行,并解除任何活动的轻解除UI表面;以及(ii)位于该弹出式条带之外的敲击和/或点击将解除该弹出式条带和任何活动的轻解除UI表面。在一种实施方式中,将执行弹出式条带之外的点击和/或敲击(例如,针对画布内的)。在另一种实施方式中,针对画布中的点击和/或敲击将被吸收或吃掉,因此不会执行该点击和/或敲击。

轻解除管理器和/或其一部分可以由或者针对工作在各种模式(例如,阅读模式、编辑模式、幻灯模式)或方向(例如,肖像视图、风景视图、50/50视图)的应用进行实现,并可以被设计为在多种模式和/或多个方向中提供一致的轻解除功能和/或行为。轻解除管理器和/或其一部分可以由或者针对跨越各种触摸屏设备(例如,桌面形计算机、膝上形计算机、平板设备、移动电话)、形状因子和/或输入类型进行工作的应用来实现,并可以被设计为跨越多种触摸屏设备、多种形状因子和/或多种输入类型来提供一致的轻解除功能和/或行为。轻解除管理器和/或其一部分可以由或者针对跨越各种操作系统(例如,操作系统、AndriodTM操作系统、Apple iOSTM操作系统)进行工作的应用来实现,并可以被设计为跨越多种操作系统来提供一致的轻解除功能和/或行为。轻解除管理器和/或其一部分可以由或者针对采用轻解除UI表面的不同应用来实现,并可以被设计为跨越不同的应用来提供一致的轻解除功能和/或行为。

轻解除管理器可以有利地提供一致的、可理解的用户体验,以便当存在临时的、轻解除UI表面时,用户可以有信心接收期望的响应。轻解除管理器还可以跨越各种UI表面类型、跨越各种输入类型和跨越各种应用,提供应用中的一致的用户体验。另外,轻解除管理器可以对轻解除行为进行管理,以使完成一个动作所需要的点击或者敲击的数量最小化,同时使屏幕上元素的偶然调用最小化,以便当用户在提供针对应用的触摸输入时感觉到安全和舒适。轻解除管理器还可以通过跨越桌面型计算机和移动实现实现一致的功能和/或行为,来保持用户效率。轻解除管理器还可以允许用户浏览条带,并经由单个点击或敲击来执行该条带中的命令,而无需额外的中间敲击来解除打开标注。

提供下面的示例性实施例、实施方式、例子和场景,以便进一步示出所描述的主题的方面。应当理解的是,提供下面的示例性实施例、实施方式、例子和场景只是用于说明目的,而不是进行限制。

示例性轻解除管理器通信

图2A-C示出了根据所描述的主题的方面的轻解除管理器200和各种用户接口表面之间的示例性通信。轻解除管理器200可以是由用户体验框架100、轻解除管理模块110和/或轻解除管理器实现模块111来实现的轻解除管理器的例子。轻解除管理器200可以包括和/或露出:用于与由应用和/或应用用户接口提供的各种用户接口表面进行通信的应用编程接口(API)。

参见图2A,轻解除管理器200可以与将在应用用户接口中打开的新的轻解除UI表面201进行通信。轻解除管理器200可以露出API,该API包括当新的轻解除UI表面201即将出现时所调用的方法。该API还可以包括当子轻解除UI表面(其父亲为和/或被锚定到现有轻解除UI表面)即将出现时将调用的方法。在轻解除UI表面被打开以通知轻解除管理器200准备适当的解除机制之前,轻解除UI表面可以调用这些方法中的每一个方法。轻解除管理器200可以从调用的轻解除UI表面接收表面区域参数,轻解除管理器200可以使用该参数来确定点击或者触摸点是否落入到活动的轻解除UI表面或者父-子轻解除UI表面的边界之外。当这些方法中的每一个方法被调用时,轻解除管理器200可以向调用的轻解除UI表面提供表面标识符。

参见图2B,轻解除管理器200可以与一个或多个活动的轻解除UI表面201-203进行通信。在新的轻解除UI表面即将打开时,将调用的这些方法中的每一个方法可以包括回调函数。当轻解除管理器200检测到解除事件时,轻解除管理器200可以调用该回调函数。可以将事件变元作为用于回调函数的参数,从轻解除管理器200传递到活动的轻解除UI表面。该API还可以包括当控制被释放时可以由轻解除UI表面调用的另一种方法,使得不会调用另外的回调。

当解除事件发生时,轻解除管理器200可以利用解除变元来调用该回调函数,以便向活动的轻解除UI表面201-203通知该解除事件是否应当或者将要导致解除。在一些实施方式中,在活动的轻解除UI表面从轻解除管理器200接收到应当或者将要导致解除的解除事件已发生的通知(例如,经由解除变元)时,其可以对自己进行解除。

在一些实施方式中,轻解除UI表面可以被配置为忽略或者覆盖从轻解除管理器200接收的某些解除事件和/或解除变元。来自轻解除管理器200的通知可以被应用或者活动的轻解除UI表面实现为和/或对待为:始终造成轻解除UI表面的解除的显式指令、可以基于某种标准来覆盖的指令、或者应用或活动的轻解除UI表面可以忽略的指令或者建议。

可以针对可以与轻解除管理器200进行注册的各种类型的UI表面(例如,对象上UI、命令表面、控件等等)应用轻解除行为。在注册的轻解除UI之上构建的组件或者表面(例如,在弹出式视窗上构建的上下文菜单)可以继承针对基层组件所做出的改变。不是在注册的轻解除UI或者控件之上构建的定制组件或表面仍然能够与轻解除管理器200进行注册,以继承轻解除行为。

当显示轻解除UI表面时,在该轻解除UI表面的边界之外发生的输入事件(例如,点击、敲击、姿势等等)可以关闭该轻解除UI表面。在各种实施方式中,缺省的轻解除行为可以是在该过程期间吸收或“吃掉”该点击或敲击,使得该敲击的目标不会接收和/或执行该敲击。例如,缺省而言,位于轻解除UI表面之外的按钮上的敲击可以解除该轻解除UI表面,但该按钮将不会获得该敲击事件。

参见图2C,轻解除管理器200可以与诸如条带204、窗格205和/或定制UI表面206之类的一个或多个渲染的UI表面进行通信。为了对针对一个或多个应用、视窗、UI表面和/或用户的轻解除行为进行定制、标准化、修改和/或规定,轻解除管理器200可以包括如下机制:用于指定其中用户输入事件(例如,点击、敲击、姿势等等)不被吸收或“吃掉”,而是被允许传递到应用和/或UI元素以便执行的UI区域和/或场景的机制。在一种实施方式中,由轻解除管理器200露出的API可以包括:可以由各种UI表面(例如,条带204、窗格205、定制UI表面206、控件等等)为了请求、规定和/或注册“排除区域”或“事件传递区域”而调用的方法。

轻解除管理器200可以使得UI表面能够与轻解除管理器200进行注册,如果该UI表面想要使用阻挡面板来进行轻解除的话。UI表面可以调用轻解除管理器200的该API以便请求使用阻挡面板和注册排除区域或事件传递区域。该API还可以包括:注册的UI表面为了移除排除区域或事件传递区域而调用的方法。

示例性阻挡面板实现

图3A和图3B示出了根据所描述的主题的方面的示例性阻挡面板实现。排除事件传递区域的阻挡面板的形状可以由阻挡面板实现模块114和/或轻解除管理器200来确定。在一种实施方式中,当新的和/或子轻解除UI表面向轻解除管理器200通知其即将打开(例如,新的和/或子轻解除UI表面调用API)时,轻解除管理器200调用回调方法来向一个或多个活动的轻解除UI表面通知(例如,经由轻松解除变元)适当的轻解除行为。此外,轻解除管理器200可以对用于调用的轻解除UI表面的阻挡面板进行确定、计算和/或创建,以管理各种轻解除场景中的用户输入事件。

参见图3A,初始阻挡面板300可以是整个屏幕。当条带(和/或窗格)注册排除区域301时,所获得的阻挡面板302是整个屏幕的表面区域减去该条带(和/或窗格)的表面区域所得到的结果。

参见图3B,初始阻挡面板300可以是整个屏幕。当UI表面注册定制排除区域303时,所获得的阻挡面板304是整个屏幕的表面区域减去该定制排除区域的表面区域所得到的结果。

由于在活动的轻解除UI表面之下绘制阻挡面板,因此活动的轻解除UI表面的表面区域被自动地排除。在一种实施方式中,随着注册并增加新的排除区域,轻解除管理器可以执行几何减法操作,以重新规定最终阻挡面板的尺寸。针对存在由多个UI表面所注册的多个排除区域的情况(其将不产生矩形区域),轻解除管理器可以实现用于根据多个减法操作来生成多边形(例如,多矩形)的算法。例如,可以利用多个矩形来构造阻挡面板之内的排除区域。替代地或另外地,轻解除管理器和/或阻挡面板可以实现用于确定是否是在排除区域中接收到点击或者敲击,以及将该点击或敲击传递到下层的UI表面(例如,条带、窗格、画布区域等等)的逻辑。

示例性用例场景

在一个示例性用例场景中,用户在文字处理应用文档中键入文本,并想要改变该文本的格式。用户点击或者敲击条带中的“颜色”按钮,并且颜色选择器画廊(gallery)标注被显示出。用户从颜色选择器画廊中选择颜色,这并不解除该标注,随后用户点击或者敲击字体选择器。在一次点击或敲击中,颜色选择器画廊解除,并且字体选择器标注被显示出。用户选择字体,并随后敲击返回到画布内。在敲击到画布内时,字体选择器被解除,并且敲击被吸收或“吃掉”,使得不放置用户的插入指针。在针对画布内的下一个敲击时,用户的插入指针被移动到该敲击的位置,随后用户可以开始再次键入。

在另一种示例性用例场景中,用户将图片插入到幻灯片呈现应用幻灯片中,并想要对该图片调整大小(例如,缩小)。用户执行按下并保持命令,以便在调用点处构建上下文菜单,但没有发现期望的选项。随着用户继续进行搜索,用户的下一次敲击是在“图片”标签上的条带上。用户在图片标签上的敲击被立即执行,并且在条带中显示出图片选项。另外,上下文菜单被立即解除。现在,用户能够经由条带上的选项,对该图片调整大小,并移动到下一张幻灯片。

轻解除行为的示例性实施方式

图4A-E示出了用于在触摸屏计算设备上执行的应用用户接口400的轻解除行为的示例性实施方式。在图4A中,示出了在可编辑区域内具有文档内容的文档401。用户对于词语的选择(例如,双击该文字、放置和拖动以及插入指针)可以在所选定的词语403的右上方,调用上下文指示符402的显示。上下文指示符402可以显示图标(例如,诸如省略号或字母、符号、图像等等之类的文本字符),以指示或者表示用户能够访问针对与上下文有关功能的命令。

用户对于上下文指示符402的选择可以将浮动命令条404调用成轻解除UI表面,该轻解除UI表面隐藏上下文指示符402或者位于上下文指示符402之上,并延伸到右边,如图4B中所示。浮动命令条402提供包括以下各项的示例性命令集:通过相应的按钮来实现的粘贴命令、复制命令和删除命令。

当显示浮动命令条404时,如图4B中所示,用户可以在文档401的画布中敲击。响应于针对画布中的敲击,浮动命令条404被解除,并且上下文指示符402可以再次被显示,如图4A中所示。

当显示浮动命令条404时,如图4B中所示,用户可以在被实现为工具栏的标签式集合的条带406中的特定命令405中敲击。响应于针对条带406中的敲击,浮动命令条404可以被解除,上下文指示符402可以被再次显示,并且来自条带406的标注407可以被显示,如图4C中所示。

用户可以选择表408,并在条带406中敲击,以调用窗格409,如图4D中所示。用户可以在窗格409中敲击,以显示作为子轻解除UI接口表面的弹出式视窗410,该子轻解除UI接口表面是从父轻解除UI表面调用的并被锚定到父轻解除UI表面。当显示窗格409和弹出式视窗410时,用户可以在文档401的画布中敲击。响应于针对画布中的敲击,弹出式视窗410(子轻解除UI表面)和窗格409(父轻解除UI表面)被一起解除,如图4E中所示。当窗格409和弹出式视窗410被解除时,表408维持在选定的状态。

图5A-D示出了用于在处于阅读模式的触摸屏计算设备上执行的应用用户接口500的轻解除行为的示例性实施方式。用户对于文档501中的词语的选择可以在位于所选定的词语503的右上方,调用上下文指示符502的显示,如图5A中所示。用户可以触摸应用用户接口500的上部,并以向下方向进行滑动。响应于该滑动,上下文指示符502可以被解除,并且用于实现命令集合的弹出式条带504可以在应用用户接口500的上部显示,如图5B中所示。当显示弹出式条带504时,选定的词语503维持在选定状态。

当显示弹出式条带504时,如图5B中所示,用户可以敲击弹出式条带504上的命令505。响应于针对弹出式条带504上的命令505中的敲击,可以将来自于弹出式条带504的标注506调用成轻解除UI表面,如图5C中所示。

当显示标注506时,如图5C中所示,用户可以在文档501的画布中敲击或者双击。针对画布中的敲击或双击可以被吸收或者“吃掉”,以解除标注506、解除弹出式条带504、以及取消选择所选定的词语503。在一些实施方式中,针对画布中的敲击或双击可以解除标注506、解除弹出式条带504、取消选择所选定的词语503、以及基于用户的触摸点来选择画布中的新词语,如图5D中所示。上下文指示符502可以位于新的选定词语507的右上方。

在一些实施方式中,可以将弹出式条带504和标注506对待为父和子轻解除UI表面。替代地或另外地,可以将弹出式条带504对待为用于注册事件传递区域的渲染的UI表面。

用于管理轻解除行为的示例性过程

继续参见前面的附图,下面描述一种示例性过程以进一步说明所描述的主题的方面。应当理解的是,下面的示例性过程并不旨在将所描述的主题限制于特定的实施方式。

图6示出了计算机实现的方法600,其作为根据所描述的主题的方面的用于管理轻解除行为的示例性过程的实施例。在各种实施例中,计算机实现的方法600可以由计算设备和/或包括一个或多个计算设备的计算机系统来执行。应当领会的是,计算机实现的方法600或者其一部分可以由各种计算设备、计算机系统、组件和/或存储在一个或多个计算机可读存储介质上的计算机可执行指令来执行。

在610处,计算设备可以对用于应用用户接口的轻解除管理器进行实例化。例如,诸如客户端设备101-106中的一个之类的计算设备可以对用于应用用户接口400或应用用户接口500的轻解除管理器200进行实例化。轻解除管理器200可以由计算设备、应用和/或应用用户接口,经由轻解除管理模块110和/或轻解除管理器实现模块111来实例化。

在620处,轻解除管理器可以从应用用户接口的渲染的用户接口表面接收用于注册事件传递区域的请求。例如,轻解除管理器200可以从应用用户接口400或应用用户接口500的渲染的用户接口表面(例如,条带406、弹出式条带504、窗格和/或定制用户接口表面)接收用于注册事件传递区域的请求。轻解除管理器200可以露出应用编程接口,该应用编程接口包括由渲染的用户接口表面为了注册事件传递区域而调用的方法。

在630处,轻解除管理器可以接收将在该应用用户接口中打开新的轻解除用户接口表面的通知。例如,轻解除管理器200可以接收将在应用用户接口400或者应用用户接口500中打开新的轻解除用户接口表面(例如,浮动命令条404、窗格409、弹出式视窗410、标注506等等)的通知。轻解除管理器200可以露出应用编程接口,该应用编程接口包括在新的轻解除用户接口表面被打开之前,由该新的轻解除用户接口表面调用的方法。如果该新的轻解除用户接口表面是从活动的轻解除用户接口表面调用的,则当该新的轻解除用户接口表面被打开时,该活动的轻解除用户接口表面被保持打开。如果该新的轻解除用户接口表面不是从活动的轻解除用户接口表面调用的,则当该新的轻解除用户接口表面被打开的时,该活动的轻解除用户接口表面被关闭。

在640处,轻解除管理器可以确定排除事件传递区域的透明阻挡面板的形状。例如,轻解除管理器200可以确定排除事件传递区域(例如,条带301、定制排除区域303等等)的透明阻挡面板(例如,阻挡面板302、阻挡面板304等等)的形状。轻解除管理器200可以从全屏幕透明阻挡面板中排除该事件传递区域。在一些实施方式中,透明阻挡面板可以排除由多个渲染的用户接口表面注册的多个事件传递区域。

在650处,计算设备和/或轻解除管理器可以在新的轻解除用户接口表面之下渲染透明阻挡面板。例如,当在应用用户接口400或者应用用户接口500中打开新的轻解除用户接口表面(例如,浮动命令条404、窗格409、弹出式视窗410、标注506等等)时,可以在新的轻解除用户接口表面之下渲染透明阻挡面板(例如,阻挡面板302、阻挡面板304等等)。透明阻挡面板可以被配置为:防止执行与该应用用户接口中的位于新的轻解除用户接口表面(例如,浮动命令条404、窗格409、弹出式视窗410、标注506等等)和事件传递区域(例如,条带301、定制排除区域303等等)二者之外的可见部分相关联的命令。

在660处,轻解除管理器可以针对解除事件,对应用用户接口进行监测。例如,当新的轻解除用户接口表面(例如,浮动命令条404、窗格409、弹出式视窗410、标注506等等)是打开的时,轻解除管理器200可以针对解除事件,对应用用户接口400或者应用用户接口500进行监测。示例性解除事件可以包括:针对新的轻解除用户接口表面的边界之外的输入事件,打开不是从新的轻解除用户接口表面调用的另一个轻解除用户接口表面,按下某些键,丢失应用用户接口的焦点,和/或其它适当的解除事件。

在670处,轻解除管理器可以检测针对渲染的用户接口表面的可见部分的输入事件。例如,当新的轻解除用户接口表面(例如,浮动命令条404、窗格409、弹出式视窗410、标注506等等)是打开的时,轻解除管理器200可以检测针对应用用户接口400或者应用用户接口500的渲染的用户接口表面(例如,条带406、弹出式条带504、窗格和/或定制用户接口表面)的可见部分的输入事件(例如,来自用户的触摸输入)。

在680处,响应于该输入事件,计算设备、轻解除管理器和/或应用用户接口可以关闭新的轻解除用户接口表面,并执行命令。例如,响应于该输入事件,轻解除管理器200可以向新的轻解除用户接口表面(例如,浮动命令条404、窗格409、弹出式视窗410、标注506等等)发送解除通知。轻解除管理器200可以露出应用编程接口,该应用编程接口包括当检测到输入事件时,被调用以便向新的轻解除用户接口表面发送解除通知的回调方法。在一些情况下,在接收到该解除通知时,可见的轻解除用户接口表面可以关闭其自己。如果新的轻解除用户接口表面是从活动的轻解除用户接口表面调用的(其中,当新的轻解除用户接口表面被打开时,该活动的轻解除用户接口表面被保持打开),则响应于该输入事件,轻解除管理器200可以向活动的轻解除用户接口表面发送解除通知。与关闭新的轻解除用户接口表面一起,与渲染的用户接口表面的可见部分相关联的命令(例如,命令405、命令505、选择文档中的词语等等)和/或针对事件传递区域的命令可以由计算设备、应用和/或应用用户接口来执行。

示例性操作环境

所描述的主题的方面可以针对和/或由各种操作环境、计算机网络、平台、框架、计算机架构和/或计算设备来实现。所描述的主题的方面可以由能够由一个或多个计算设备、计算机系统和/或处理器执行的计算机可执行指令来实现。

在其最基本配置中,计算设备和/或计算机系统可以包括至少一个处理单元(例如,单处理器单元、多处理器单元、单核单元和/或多核单元)和存储器。根据计算机系统或计算设备的精确配置和类型,计算设备和/或计算机系统实现的存储器可以是易失性的(例如,随机存取存储器(RAM))、非易失性的(例如,只读存储器(ROM)、闪存等等)、或者其组合。

计算设备和/或计算机系统可以具有另外的特征和/或功能。例如,计算设备和/或计算机系统可以包括诸如另外的(例如,可移动和/或不可移动)存储单元之类的硬件,其包括但不限于:固态盘、磁盘、光盘或者磁带。

通常,计算设备和/或计算机系统可以包括或者可以访问各种各样的计算机可读介质。例如,计算机可读介质可以体现用于由计算设备和/或计算机系统执行的计算机可执行指令。计算机可读介质可以是能够由计算设备和/或计算机系统访问的任何可用介质,其包括易失性和非易失性介质、以及可移动和不可移动介质二者。如本文所使用的,术语“计算机可读介质”包括计算机可读存储介质和通信介质。

如本文所使用的术语“计算机可读存储介质”包括易失性和非易失性、可移动和不可移动介质,以存储诸如计算机可执行指令、数据结构、程序模块或其它数据之类的信息。计算机可读存储介质的例子包括但不限于:诸如RAM、ROM、电可擦除可编程只读存储器(EEPROM)、半导体存储器、动态存储器(例如,动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双数据速率同步动态随机存取存储器(DDR SDRAM)等)、集成电路、固态驱动器、闪存(例如,基于NAN的闪存)、存储芯片、存储卡、存储棒、拇指驱动器等等的存储器存储设备;诸如蓝光光盘、数字视频光盘(DVD)、压缩光盘(CD)、CD-ROM、光盘盒等等的光存储介质;包括硬盘驱动器、软盘、软磁盘、盒式磁带、磁带等等的磁存储介质;以及其它类型的计算机可读存储介质。应当领会的是,各种类型的计算机可读存储介质(例如,存储器和另外的硬件存储单元)可以是计算设备和/或计算机系统的一部分。如本文所使用的,术语“计算机可读存储媒体”和“计算机可读存储介质”并不意味和明确地排除传播信号、调制的数据信号、载波波形或者任何其它类型的临时计算机可读介质。

通常,通信介质体现计算机可执行指令、数据结构、程序模块或者调制的数据信号(例如,载波波形或者其它传输机制)中的其它数据,并包括任何信息传送介质。术语“调制的数据信号”意味着具有以这样的方式对其特性中的一个或多个特性进行设置或改变,以便在该信号中对信息进行编码的信号。通过举例但非限制的方式,通信介质包括诸如有线网络或者直接有线连接之类的有线介质,以及诸如声学、射频、红外线之类和其它无线介质之类的无线介质。

在各种实施例中,所描述的主题的方面可以由在一个或多个计算机可读存储介质上存储的计算机可执行指令来实现。可以使用诸如以下各项之类的任何各种类型的适当编程语言和/或标记语言,来实现计算机可执行指令:可扩展应用标记语言(XAML)、XML、XBL HTML、XHTML、XSLT、XMLHttpRequestObject、CSS、文档对象模型(DOM)、JavaScript、JavaScript对象符号(JSON)、Jscript、ECMA script、Ajax、SilverlightTM、Visual(VB)、VBScript、PHP、ASP、Python、C、面向对象C、C++、C#/.net和/或其它语言。

计算设备和/或计算机系统可以包括各种输入设备、输出设备、通信接口和/或其它类型的设备。示例性输入设备包括但不限于:用户接口、键盘/按键板、触摸屏、触摸板、笔、鼠标、跟踪球、远程控制、游戏控制器、照相机、条形码阅读器、麦克风或其它语音输入设备、视频输入设备、激光测距仪、运动感测设备、姿势检测设备和/或其它类型的输入机制和/或设备。计算设备可以提供使得用户能够以“自然”方式、免受输入设备(例如,鼠标、键盘、远程控制等等)施加的人工约束,与该计算设备进行交互的自然用户接口(NUI)。NUI技术的例子包括但不限于:语音和/或声音识别、触摸和/或手写识别、使用加速计的屏幕上和与屏幕相邻的运动和/或姿势识别、陀螺仪和/或深度相机(例如,立体或飞行时间照相机系统、红外照相机系统、RGB照相机系统和/或其组合)、头部和眼球跟踪、视线跟踪、脸部识别、3D显示、沉浸式增强现实和虚拟现实系统、用于使用电场感应电极(EEG和有关的方法)来感测脑部活动、意图和/或目标理解的技术和机器智能。

计算设备可以被配置为根据实施方式,以各种方式对输入进行接收和响应。可以以例如包括以下各项的各种形式来呈现响应:呈现用户接口、输出诸如图像、视频、多媒体对象、文档之类的对象和/或其它类型的对象;输出文本响应;提供与响应的内容相关联的链路;输出计算机生成的语音响应或者其它音频;或者响应的其它类型的视觉和/或音频呈现。示例性输出设备包括但不限于:显示器、投影仪、扬声器、打印机和/或其它类型的输出装置和/或设备。

计算设备和/或计算机系统可以包括允许在其它计算设备和/或计算机系统之间和当中进行通信的一个或多个通信接口。在各个计算设备和/或计算机系统之间和当中,可以在网络通信的上下文中,使用通信接口。通信接口可以允许计算设备和/或计算机系统与其它设备、其它计算机系统、web服务(例如,附属Web服务、第三方web服务、远程web服务等等)、web服务应用和/或信息源(例如,附属信息源、第三方信息源、远程信息源等等)进行通信。因此,可以在访问各种类型的资源、从各种类型的资源获得数据、和/或与各种类型的资源进行协作的上下文中,使用通信接口。

还可以在网络或者网络组合上分发计算机可执行指令的上下文中,使用通信接口。例如,可以使用远程计算机和存储设备,对计算机可执行指令进行组合或者分发。本地或终端计算机可以访问远程计算机或远程存储设备,以及下载计算机程序或者该计算机程序的一个或多个部分以便执行。还应当领会的是,可以通过执行本地终端处的一些指令和执行远程计算机处的一些指令,来分发计算机可执行指令的执行。

计算设备可以由诸如以下各项之类的移动计算设备来实现:移动电话(例如,蜂窝电话、比如电话、Apple iPhone、电话、实现AndroidTM操作系统的电话、实现操作系统的电话、或者实现移动操作系统的其它类型的电话之类的智能电话)、平板计算机(例如,设备、Apple iPadTM、三星GalaxyPro、或者其它类型的平板设备)、膝上型计算机、笔记本计算机、上网本计算机、个人数字助理(PDA)、便携式媒体播放器、手持游戏控制台、可穿戴计算设备(例如,智能手表、包括诸如GlassTM、可穿戴监视器等等的头戴设备)、个人导航设备、车载计算机(例如,板载导航系统)、照相机或者其它类型的移动设备。

计算设备可以由诸如以下各项之类的静止计算设备来实现:桌面型计算机、个人计算机、服务器计算机、娱乐系统设备、媒体播放器、媒体系统或控制台、视频游戏系统或控制台、多用途系统或控制台(例如,诸如比如系统或控制台、系统或控制台、系统或控制台、或者其它类型的多用途游戏系统或控制台之类的组合的多媒体和视频游戏系统或控制台)、机顶盒、电器(例如,电视、冰箱、烹饪器具等等)或者其它类型的静止计算设备。

计算设备还可以由包括以下各项的其它类型的基于处理器的计算设备来实现:数字信号处理器、现场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准产品(PSSP/ASSP)、片上系统(SoC)、复杂可编程逻辑器件(CPLD)等等。

计算设备可以包括和/或运行由例如该计算设备的软件、固件、硬件、逻辑单元和/或电路实现的一个或多个计算机程序。可以以各种方式,将计算机程序分发和/或安装在计算设备上。例如,根据实施方式,计算机程序可以由原始设备制造商(OEM)预安装在计算设备上,作为另一个计算机程序的安装的一部分来安装在计算设备上,从应用商店中下载并安装在计算设备上,由系统管理员使用企业网络管理工具进行分发和/或安装,以及以各种其它方式进行分发和/或安装。

由计算设备实现的计算机程序可以包括一个或多个操作系统。示例性操作系统包括但不限于:操作系统(例如,操作系统)、操作系统(例如,ChromeTM操作系统或AndroidTM操作系统)、Apple操作系统(例如,Mac或Apple iOSTM操作系统)、开源操作系统或者适合于在移动、静止和/或基于处理器的计算设备上运行的任何其它操作系统。

由计算设备实现的计算机程序可以包括一个或多个客户端应用。示例性客户端应用包括但不限于:web浏览应用、通信应用(例如,电话应用、电子邮件应用、文本消息应用、即时消息应用、网络会议应用等等)、媒体应用(例如,视频应用、电影服务应用、电视服务应用、音乐服务应用、电子书籍应用、照片应用等等)、日历应用、文件共享应用、个人助理或者其它类型的对话应用、游戏应用、图形应用、购物应用、付费应用、社交媒体应用、社交网络应用、新闻应用、体育应用、天气应用、地图应用、导航应用、旅行应用、餐饮应用、娱乐应用、健康医疗应用、生活方式应用、参考引用、金融应用、商业应用、教育应用、生产力应用(例如,文字处理应用、电子表格应用、幻灯片显示呈现应用、笔记记录应用等等)、安全应用、工具应用、效用应用和/或任何其它类型的应用、应用程序、和/或适合于在移动、静止和/或基于处理器的计算设备上运行的app。

由计算设备实现的计算机程序可以包括一个或多个服务器应用。示例性服务器应用包括但不限于:与上面所描述的各种类型的示例性客户端应用中的任何一个客户端应用相关联的一个或多个服务器托管的应用、基于云的应用和/或在线应用;上面所描述的各种类型的示例性客户端应用中的任何一个客户端应用的一个或多个服务器托管的版本、基于云的版本和/或在线版本;被配置为提供web服务、web站点、web页面、web内容等等的一个或多个应用;被配置为提供和/或访问信息源、数据存储、数据库、知识库等等的一个或多个应用;和/或其它类型的应用、应用程序、和/或适合于在服务器计算机上运行的app。

计算机系统可以由诸如服务器计算机之类的计算设备来实现,或者由被配置为实现其中一个或多个适当配置的计算设备可以执行一个或多个处理步骤的服务的多个计算设备来实现。计算机系统可以被实现为分布式计算系统,在该分布式计算系统中,组件位于通过网络(例如,有线和/或无线网络)和/或其它形式的直接和/或间接连接来彼此之间连接的不同计算设备上。计算机系统还可以经由其中通过共享的数据中心来传送服务的基于云的架构(例如,公共、专用或者其组合)来实现。例如,计算机系统可以由数据中心的物理服务器来实现,该共享的计算和存储资源提供共享的计算和存储资源,并且托管有虚拟机,这些虚拟机具有用于结合提供基于云的服务来执行不同的任务的各种角色。示例性虚拟机角色可以包括但不限于:web服务器、前端服务器、应用服务器、数据库服务器(例如,SQL服务器)、域控制器、域名服务器、目录服务器和/或其它适当的机器角色。计算机系统的一些组件可以置于云内,而其它组件置于云外。

图7示出了操作环境700,其作为可以实现所描述的主题的方面的示例性操作环境的实施例。应当领会的是,在各个实施例中,操作环境700可以由客户端-服务器模型和/或架构以及由其它操作环境模型和/或架构来实现。

操作环境700可以包括计算设备710,后者可以实现所描述的主题的方面。计算设备710可以包括处理器711和存储器712。计算设备710还可以包括另外的硬件存储单元713。应当理解的是,计算机可读存储介质包括存储器712和硬件存储单元713。

计算设备710可以包括输入设备714和输出设备715。输入设备714可以包括上面所描述的示例性输入设备中的一个或多个输入设备和/或其它类型的输入机制和/或设备。输出设备715可以包括上面所描述的示例性输出设备中的一个或多个输出设备和/或其它类型的输出机制和/或设备。

计算设备710可以包含用于允许计算设备710与其它计算设备和/或计算机系统进行通信的一个或多个通信接口716。还可以在分布式计算机可执行指令的上下文中使用通信接口716。

计算设备710可以包括和/或运行一个或多个计算机程序717,这些计算机程序717例如由计算设备710的软件、固件、硬件、逻辑单元和/或电路来实现。计算机程序717可以包括操作系统718,该操作系统718例如由上面所描述的一个或多个示例性操作系统和/或适合于在计算设备710上运行的其它类型的操作系统来实现。计算机程序717可以包括一个或多个应用719,这些应用719例如由上面所描述的一个或多个示例性应用和/或适合于在计算设备710上运行的其它类型的应用来实现。

可以经由一个或多个适当的接口(例如,API或其它数据连接)将计算机程序717配置为与一个或多个资源进行通信和/或协作。资源的例子包括计算设备710的本地计算资源和/或远程计算资源,所述远程计算资源例如服务器托管的资源、基于云的资源、在线资源、远程数据存储、远程数据库、远程知识库、web服务、web站点、web页面、web内容、和/或其它类型的远程资源。

计算机程序717可以实现被存储在计算机可读存储介质(例如,存储器712或硬件存储单元713)中的计算机可执行指令。由计算机程序717实现的计算机可执行指令可以被配置为与操作系统718和应用719中的一个或多个一起工作、对其进行支持和/或增强。由计算机程序717实现的计算机可执行指令还可以被配置为提供一个或多个单独的和/或独立的服务。

计算设备710和/或计算机程序717可以实现和/或执行所描述的主题的各个方面。如图所示,计算设备710和/或计算机程序717可以包括轻解除管理代码720。在各个实施例中,轻解除管理代码720可以包括被存储在计算机可读存储介质上,并被配置为实现所描述的主题的一个或多个方面的计算机可执行指令。通过举例但非限制的方式,轻解除管理代码720可以由计算设备710来实现,计算设备710转而可以表示客户端设备101-106中的一个。通过进一步举例但非限制的方式,轻解除管理代码720可以实现轻解除管理模块110和/或轻解除管理器200,确定阻挡面板302和/或阻挡面板304的形状,控制用于应用用户接口400和/或应用用户接口500的轻解除行为,和/或执行计算机实现的方法600的一个或多个方面。

操作环境700可以包括计算机系统730,后者可以实现所描述的主题的方面。计算机系统730可以由诸如一个或多个服务器计算机之类的一个或多个计算设备来实现。计算机系统730可以包括处理器731和存储器732。计算机系统730还可以包括另外的硬件存储单元733。应当理解的是,计算机可读存储介质包括存储器732和硬件存储单元733。计算机系统730可以包括输入设备734和输出设备735。输入设备734可以包括上面所描述的示例性输入设备中的一个或多个输入设备和/或其它类型的输入机制和/或设备。输出设备735可以包括上面所描述的示例性输出设备中的一个或多个输出设备和/或其它类型的输出机制和/或设备。

计算机系统730可以包含用于允许计算机系统730与各种计算设备(例如,计算设备710)和/或其它计算机系统进行通信的一个或多个通信接口736。还可以在分布式计算机可执行指令的上下文中使用通信接口736。

计算机系统730可以包括和/或运行一个或多个计算机程序737,这些计算机程序737例如由计算机系统730的软件、固件、硬件、逻辑单元和/或电路来实现。计算机程序737可以包括操作系统738,该操作系统738例如由上面所描述的一个或多个示例性操作系统和/或适合于在计算机系统730上运行的其它类型的操作系统来实现。计算机程序737可以包括一个或多个应用739,这些应用739例如由上面所描述的一个或多个示例性应用和/或适合于在计算机系统730上运行的其它类型的应用来实现。

可以经由一个或多个适当的接口(例如,API或其它数据连接)将计算机程序737配置为与一个或多个资源进行通信和/或协作。资源的例子包括计算机系统730的本地计算资源和/或远程计算资源,所述远程计算资源例如服务器托管的资源、基于云的资源、在线资源、远程数据存储、远程数据库、远程知识库、web服务、web站点、web页面、web内容、和/或其它类型的远程资源。

计算机程序737可以实现被存储在计算机可读存储介质(例如,存储器732或硬件存储单元733)中的计算机可执行指令。由计算机程序737实现的计算机可执行指令可以被配置为与操作系统738和应用739中的一个或多个一起工作、对其进行支持和/或增强。由计算机程序737实现的计算机可执行指令还可以被配置为提供一个或多个单独的和/或独立的服务。

计算机系统730和/或计算机程序737可以实现和/或执行所描述的主题的各个方面。如图所示,计算机系统730和/或计算机程序737可以包括轻解除管理代码740。在各个实施例中,轻解除管理代码740可以包括被存储在计算机可读存储介质上,并被配置为实现所描述的主题的一个或多个方面的计算机可执行指令。通过举例但非限制的方式,轻解除管理代码740可以由计算机系统730来实现,计算机系统730转而可以实现轻解除管理模块110和/或轻解除管理器200,确定阻挡面板302和/或阻挡面板304的形状,控制用于应用用户接口400和/或应用用户接口500的轻解除行为,和/或执行计算机实现的方法600的一个或多个方面。

计算设备710和计算机系统730可以通过网络750进行通信,网络750可以由任何类型的网络或者适合于在计算设备710和计算机系统730之间提供通信的网络的组合来实现。例如,网络750可以包括但不限于:诸如互联网之类的WAN、LAN、电话网络、专用网络、公共网络、分组网络、电路交换网络、有线网络和/或无线网络。计算设备710和计算机系统730可以使用各种通信协议和/或数据类型,通过网络750进行通信。计算设备710的一个或多个通信接口716和计算机系统730的一个或多个通信接口736可以在通过网络750进行通信的上下文中采用。

计算设备710和/或计算机系统730可以通过网络750,与存储系统760进行通信。替代地或另外地,存储系统760可以与计算设备710和/或计算机系统730集成在一起。存储系统760可以表示根据所描述的主题的各种类型的存储单元。存储系统760可以使用数据库存储、云存储、表存储、blob存储、文件存储、队列存储和/或其它适当类型的存储机制,为关系型(例如,SQL)和/或非关系型(例如,NO-SQL)数据提供任何适当类型的数据存储。存储系统760可以由一个或多个计算设备(例如,数据中心中的计算机集群)来实现,由虚拟机来实现和/或被提供为基于云的存储设备。

图8示出了移动计算设备800,其作为可以实现所描述的主题的方面的示例性移动计算设备的实施例。在各种实施方式中,移动计算设备800可以是以下各项中的一个或多个的例子:客户端设备102-104和/或计算设备710。

如图所示,移动计算设备800包括能够彼此之间进行通信的各种各样的硬件和软件组件。移动计算设备800可以表示本文所描述的各种类型的移动计算设备中的任何一种,并且可以允许通过诸如一个或多个移动通信网络(例如,蜂窝网络和/或卫星网络)、LAN和/或WAN之类的网络进行无线双向通信。

移动计算设备800可以包括操作系统802和各种类型的移动应用804。在一些实施方式中,移动应用804可以包括一个或多个客户端应用、和/或轻解除管理代码720(例如,轻解除管理模块110)的组件。

移动计算设备800可以包括用于执行诸如以下各项之类的任务的处理器806(例如,信号处理器、微处理器、ASIC或者其它控制和处理逻辑电路):信号编码、数据处理、输入/输出处理、功率控制和/或其它功能。

移动计算设备800可以包括被实现为不可移动存储器810和/或可移动存储器812的存储器808。不可移动存储器810可以包括RAM、ROM、闪存、硬盘或者其它存储器设备。可移动存储器812可以包括闪存、用户识别模块(SIM)卡、“智能卡”和/或其它存储器设备。

存储器808可以用于存储用于运行操作系统802和/或移动应用804的数据和/或代码。示例性数据可以包括web页面、文本、图像、声音文件、视频数据、或者经由一个或多个有线和/或无线网络将被发送给一个或多个网络服务器或其它设备和/或从一个或多个网络服务器或其它设备接收的其它数据。存储器808可以用于存储用户标识符(例如,国际移动用户标识(IMSI))和设备标识符(例如,国际移动设备标识符(IMEI))。可以将这样的标识符发送给网络服务器,以便识别用户和设备。

移动计算设备800可以包括和/或支持一个或多个输入设备814,例如,触摸屏815、麦克风816、照相机817、键盘818、跟踪球819和其它类型的输入设备(例如,NUI设备等等)。例如,可以使用电容式触摸屏和/或光传感器来实现触摸屏815以检测触摸输入。移动计算设备800可以包括和/或支持一个或多个输出设备820,例如,扬声器821、显示器822和/或其它类型的输出设备(例如,压电或者其它触觉输出设备)。在一些实施方式中,可以将触摸屏815和显示器822组合在单个输入/输出设备中。

移动计算设备800可以包括无线调制解调器824,后者可以耦合到天线(没有示出),并且可以支持处理器806与外部设备之间的双向通信。无线调制解调器824可以包括蜂窝调制解调器825,其用于与移动通信网络和/或诸如Wi-Fi调制解调器826和/或蓝牙调制解调器827之类的其它基于无线电的调制解调器进行通信。通常,无线调制解调器824中的至少一个被配置用于:与诸如GSM网络的一个或多个蜂窝网络进行通信,以在单个蜂窝网络中进行数据和语音通信;蜂窝网络之间的通信;或者移动计算设备800和公共交换电话网(PSTN)之间的通信。

移动计算设备800还可以包括至少一个输入/输出端口828、电源830、加速计832、物理连接器834(例如,USB端口、IEEE 1394(火线)端口、RS-232端口等等)和/或全球定位系统(GPS)接收机836或者其它类型的卫星导航系统接收机。应当领会的是,所示出的移动计算设备800的组件并不都是需要的或者全包含的,这是由于在各种实施例中,可以忽略各种组件,并包括其它组件。

在各种实施方式中,移动计算设备800的组件可以被配置为结合所描述的主题的方面来执行各种操作。通过举例但非限制的方式,移动计算设备800可以实现轻解除管理模块110和/或轻解除管理器200,确定阻挡面板302和/或阻挡面板304的形状,控制用于应用用户接口400和/或应用用户接口500的轻解除行为,和/或执行计算机实现的方法600的一个或多个方面。用于执行这样的操作的计算机可执行指令可以被存储在计算机可读存储介质(例如,存储器808)中,并可以由处理器806来执行。

支持的方面

上面结合附图所提供的详细描述显式地描述和支持根据所描述的主题的各个方面。通过举例但非限制的方式,支持的方面包括被配置为对应用用户接口中的轻解除行为进行管理的计算设备,该计算机系统包括:被配置为执行计算机可执行指令的处理器;存储计算机可执行指令的存储器,所述计算机可执行指令被配置为:对用于该应用用户接口的轻解除管理器进行实例化;由该轻解除管理器从应用用户接口的渲染的用户接口表面接收用于注册事件传递区域的请求;由轻解除管理器接收将在该应用用户接口中打开新的轻解除用户接口表面的通知;由轻解除管理器确定排除所述事件传递区域的透明阻挡面板的形状;当在该应用用户接口中打开新的轻解除用户接口表面时,在该新的轻解除用户接口表面之下渲染所述透明阻挡面板;由轻解除管理器检测针对所渲染的用户接口表面的可见部分的输入事件;以及响应于该输入事件,关闭所述新的轻解除用户接口表面,并且执行与所述渲染的用户接口表面的可见部分相关联的命令。

支持的方面包括前述的计算设备,其中,所述存储器还存储有被配置为执行以下操作的计算机可执行指令:确定所述新的轻解除用户接口表面是正从活动的轻解除用户接口表面调用的;当该新的轻解除用户接口表面被打开时,保持该活动的轻解除用户接口表面打开;以及响应于所述输入事件,将该活动的轻解除用户接口表面与所述新的轻解除用户接口表面一起关闭。

支持的方面包括前述的计算设备中的任何一个,其中,所述存储器还存储有被配置为执行以下操作的计算机可执行指令:确定所述新的轻解除用户接口表面不是正从活动的轻解除用户接口表面调用的;以及当所述新的轻解除用户接口表面被打开时,关闭所述活动的轻解除用户接口表面。

支持的方面包括前述的计算设备中的任何一个,其中,所述输入事件是来自用户的触摸输入。

支持的方面包括前述的计算设备中的任何一个,其中,所述存储器还存储有被配置为执行以下操作的计算机可执行指令:当所述新的轻解除用户接口表面在所述应用用户接口中打开时,针对解除事件,对所述应用用户接口进行监测。支持的方面还包括:所述解除事件包括:针对新的轻解除用户接口表面的边界之外的输入事件,打开不是从所述新的轻解除用户接口表面调用的另一个轻解除用户接口表面,按下某些键,以及丢失所述应用用户接口的焦点。

支持的方面包括前述的计算设备中的任何一个,其中,在所述新的轻解除用户接口表面被打开之前,所述轻解除管理器露出应用编程接口,该应用编程接口包括由所述新的轻解除用户接口表面调用的方法。支持的方面还包括:所述应用编程接口包括:当检测到所述输入事件时,被调用以向所述新的轻解除用户接口表面发送解除通知的回调方法。支持的方面还包括:所述应用编程接口包括:由所述渲染的用户接口表面调用以注册所述事件传递区域的方法。

支持的方面还包括用于实现前述的计算设备或者其一部分的装置、系统、计算机可读存储介质、计算机实现的方法和/或单元。

支持的方面包括用于对应用用户接口中的轻解除行为进行管理的计算机实现的方法,该计算机实现的方法包括:由计算设备对用于该应用用户接口的轻解除管理器进行实例化;由轻解除管理器从该应用用户接口的渲染的用户接口表面接收用于注册事件传递区域的请求;由轻解除管理器接收将在该应用用户接口中打开新的轻解除用户接口表面的通知;由轻解除管理器确定排除所述事件传递区域的透明阻挡面板的形状;以及当在所述应用用户接口中打开所述新的轻解除用户接口表面时,在所述新的轻解除用户接口表面之下渲染所述透明阻挡面板,其中,所述透明阻挡面板被配置为:防止执行与所述应用用户接口中的位于所述新的轻解除用户接口表面和所述事件传递区域二者之外的可见部分相关联的命令。

支持的方面包括前述的计算机实现的方法,其还包括:针对包括以下各项的解除事件,对所述应用用户接口进行监测:针对所述新的轻解除用户接口表面之外的输入事件,以及调用没有被锚定到所述新的轻解除用户接口表面的另一个轻解除用户接口表面。

支持的方面包括前述的计算机实现的方法中的任何一个,其还包括:响应于检测到针对所述事件传递区域的输入事件,关闭所述新的轻解除用户接口表面,并且执行与所述渲染的用户接口表面的可见部分相关联的命令。支持的方面还包括:执行包括选择文档中的词语的命令。支持的方面还包括:确定所述新的轻解除用户接口表面是正从活动的轻解除用户接口表面调用的;当所述新的轻解除用户接口表面被打开时,保持所述活动的轻解除用户接口表面打开;以及响应于所述输入事件,将所述活动的轻解除用户接口表面与所述新的轻解除用户接口表面一起关闭。

支持的方面包括前述的计算机实现的方法中的任何一个,其中,所述渲染的用户接口表面是包括工具栏的标签式集合的条带。

支持的方面包括前述的计算机实现的方法中的任何一个,其中,所述事件传递区域是位于所述透明阻挡面板之内的定制排除区域。

支持的方面包括前述的计算机实现的方法中的任何一个,其中,所述透明阻挡面板排除由多个渲染的用户接口表面注册的多个事件传递区域。

支持的方面还包括用于实现和/或执行前述的计算机实现的方法或者其一部分的装置、系统、计算机可读存储介质和/或单元。

支持的方面包括存储有计算机可执行指令的计算机可读存储介质,当所述计算机可执行指令被计算设备执行时,使得该计算设备实现轻解除管理器,该轻解除管理器被配置为:从应用用户接口的渲染的用户接口表面接收用于注册事件传递区域的请求;接收将在该应用用户接口中打开新的轻解除用户接口表面的通知;从透明阻挡面板中排除所述事件传递区域,当在该应用用户接口中打开新的轻解除用户接口表面时,在该新的轻解除用户接口表面之下渲染该透明阻挡面板;当新的轻解除用户接口表面在该应用用户接口中打开时,针对解除事件对该应用用户接口进行监测;以及响应于检测到针对所述事件传递区域的输入事件,向所述新的轻解除用户接口发送解除通知,其中,所述输入事件传递到所述透明阻挡面板,并且执行与所述渲染的用户接口表面的可见部分相关联的命令。

支持的方面包括前述的计算机可读存储介质,其中,所述轻解除管理器还被配置为:确定所述新的轻解除用户接口表面是正从活动的轻解除用户接口表面调用的,其中,当该新的轻解除用户接口表面被打开时,该活动的轻解除用户接口表面被保持打开;以及响应于所述输入事件,向该活动的轻解除用户接口表面发送解除通知。

支持的方面包括前述的计算机可读存储介质,其中,所述轻解除管理器还被配置为:确定所述新的轻解除用户接口表面不是正从活动的轻解除用户接口表面调用的;以及响应于所述新的轻解除用户接口表面将在所述应用用户接口中被打开的通知,向所述活动的轻解除用户接口表面发送解除通知。

支持的方面还包括用于实现前述的计算机可读存储介质中的任何一个或者执行其功能的装置、系统、计算机实现的方法和/或单元。

支持的方面可以围绕关于功耗、存储器、处理器循环和/或其它计算密集性资源的改进的效率和/或节约,来提供各种附带优点和/或技术优点。

上面结合附图提供的详细描述仅仅只是对一些例子进行描述,而不是旨在表示其中可以构造或者使用本文所给出的例子的仅有形式。

应当理解的是,本文所描述的配置和/或方法在本质上只是示例性的,并且由于众多的变化是可能的,因此所描述的实施例、实施方式和/或例子不应被认作为具有限制性意义。本文所描述的具体过程或方法可以表示任意数量的处理策略中的一个或多个处理策略。因此,可以按照所示出和/或描述的顺序、按照其它顺序、并行地来执行本文所示出和/或描述的各种操作,或者进行一些省略。同样,可以改变上面所描述过程的顺序。

虽然利用特定于结构特征和/或方法动作的语言来描述主题,但应当理解的是,所附的权利要求书中规定的主题并不必需限于上面所描述的具体特征或者动作。相反,上面所描述的具体特征和动作被呈现为实现权利要求的示例性形式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1