屏幕上元素的偶然調(diào)用對于觸摸屏應用來說具有潛在高的恢復成本。當顯示彈出式用戶接口時,一些觸摸屏應用需要額外的敲擊或點擊,以便在用戶可以與屏幕元素上的其它部分進行交互之前,解除(dismiss)該彈出式用戶接口。這種行為可以向用戶提供更高的舒適感,知道位于彈出式用戶接口之外任何地方的敲擊都將只解除該彈出式用戶接口,而無需考慮該敲擊將執(zhí)行什么樣的動作。但是,由于不執(zhí)行與屏幕上元素相關聯(lián)的命令,該行為可能使屏幕上元素看起來被破壞,而使用戶感到沮喪。
技術實現(xiàn)要素:
提供下面的概括以便用簡化的形式介紹將在以下的詳細描述中進一步描述的構(gòu)思的選擇。本概括并不是旨在標識所主張的主題的關鍵特征或本質(zhì)特征,也不是旨在用于限制所主張的主題的保護范圍。
在各種實施方式中,計算設備可以被配置為對應用用戶接口中的輕解除(light dismiss)行為進行管理。計算設備可以對用于應用用戶接口的輕解除管理器進行實例化。輕解除管理器從應用用戶接口的渲染的用戶接口表面接收用于注冊事件傳遞區(qū)域的請求,以及接收將在應用用戶接口中打開新的輕解除用戶接口表面的通知。輕解除管理器確定排除事件傳遞區(qū)域的透明阻擋面板的形狀。當在應用用戶接口中打開新的輕解除用戶接口表面時,在該新的輕解除用戶接口表面之下渲染該透明阻擋面板。響應于針對該渲染的用戶接口表面的可見部分的輸入事件,該新的輕解除用戶接口被關閉,并且與渲染的用戶接口表面的可見部分相關聯(lián)的命令被執(zhí)行。
在閱讀了下面的詳細描述和查看了附圖之后,這些和其它方面與優(yōu)點將變得顯而易見。應當理解的是,前面的概括、下面的詳細描述和所附附圖只是解釋性的,而不是對所主張的各個方面的限制。
附圖說明
圖1示出了根據(jù)所描述的主題的方面的示例性架構(gòu)的實施例。
圖2A-C示出了根據(jù)所描述的主題的方面的輕解除管理器和各種用戶接口表面之間的示例性通信。
圖3A和圖3B示出了根據(jù)所描述的主題的方面的示例性阻擋面板實現(xiàn)。
圖4A-E示出了根據(jù)所描述的主題的方面的輕解除行為的示例性實施方式。
圖5A-D示出了根據(jù)所描述的主題的方面的輕解除行為的示例性實施方式。
圖6示出了根據(jù)所描述的主題的方面的示例性過程的實施例。
圖7示出了可以實現(xiàn)所描述的主題的方面的示例性操作環(huán)境的實施例。
圖8示出了可以實現(xiàn)所描述的主題的方面的示例性移動計算設備的實施例。
具體實施方式
下面結(jié)合附圖提供的詳細描述旨在作為一些例子的描述,而不是旨在表示其中可以構(gòu)造或者使用本文所給出的例子的僅有形式。說明書闡述了這些例子的功能,以及用于構(gòu)造和操作這些例子的步驟序列。但是,不同的例子可以完成相同或者等同的功能和序列。
對于“一個實施例”、“實施例”、“示例性實施例”、“一個實施方式”、“實施方式”、“一個例子”、“例子”等等的引用指示所描述的實施例、實施方式或者例子可以包括特定的特征、結(jié)構(gòu)或特性,但每一個實施例、實施方式或者例子可以并不必需包括該特定的特征、結(jié)構(gòu)或特性。此外,這樣的短語并不必需指代同一個實施例、實施方式或者例子。此外,當結(jié)合實施例、實施方式或者例子來描述特定的特征、結(jié)構(gòu)或者特性時,應當領會的是,可以結(jié)合其它實施例、實施方式或者例子來實施這樣的特征、結(jié)構(gòu)或特性,而不管是否顯式地描述。
為了對所描述的主題的一個或多個方面有一個透徹理解,闡述了眾多的具體細節(jié)。但是,應當領會的是,可以在不使用這些具體細節(jié)的情況下實踐這樣的方面。雖然為了描述一個或多個方面,以框圖形式示出了某些組件,但應當理解的是,由單個組件執(zhí)行的功能可以由多個組件來執(zhí)行。類似地,單個組件可以被配置為執(zhí)行被描述為由多個組件執(zhí)行的功能。
現(xiàn)參照附圖來更詳細地描述本公開內(nèi)容的各個方面,其中,類似的附圖標記通常貫穿全文地指代類似或者相應的元素。這些附圖和詳細描述并不旨在將所主張的主題限制于所描述的特定形式。相反,本發(fā)明旨在覆蓋落入所主張的主題的精神和保護范圍之內(nèi)的所有修改、等同物或替代物。
圖1示出了用戶體驗框架100,其作為根據(jù)所描述的主題的示例性架構(gòu)的實施例。應當領會的是,用戶體驗框架100或者其一部分可以由各種計算設備來實現(xiàn),并且在各個實施例中,用戶體驗框架100可以由軟件、硬件、固件或者其組合來實現(xiàn)。
在被配置為根據(jù)所描述的主題的方面來執(zhí)行各個步驟、方法和/或功能的計算設備和/或計算機系統(tǒng)的上下文中,描述了用戶體驗框架100的實施方式。應當領會的是,計算機系統(tǒng)可以由一個或多個計算設備來實現(xiàn)。還在“計算機可執(zhí)行指令”的上下文中描述用戶體驗框架100的實施方式,其中,執(zhí)行這些“計算機可執(zhí)行指令”來實現(xiàn)根據(jù)所描述的主題的方面的各個步驟、方法和/或功能。
通常,計算設備和/或計算機系統(tǒng)可以包括一個或多個處理器和存儲設備(例如,存儲器和磁盤驅(qū)動器)以及各種輸入設備、輸出設備、通信接口和/或其它類型的設備。計算設備和/或計算機系統(tǒng)還可以包括硬件和軟件的組合。應當領會的是,各種類型的計算機可讀存儲介質(zhì)可以是計算設備和/或計算機系統(tǒng)的一部分。如本文所使用的,術語“計算機可讀存儲媒體”和“計算機可讀存儲介質(zhì)”并不意味和明確地排除傳播信號、調(diào)制的數(shù)據(jù)信號、載波波形或者任何其它類型的暫時性計算機可讀介質(zhì)。在各種實施方式中,計算設備和/或計算機系統(tǒng)可以包括被配置為執(zhí)行計算機可執(zhí)行指令和計算機可讀存儲介質(zhì)(例如,存儲器和/或另外的硬件存儲單元)的處理器,其中,所述計算機可執(zhí)行指令和計算機可讀存儲介質(zhì)存儲有被配置為根據(jù)所描述的主題來執(zhí)行各個步驟、方法和/或功能的計算機可執(zhí)行指令。
計算機可執(zhí)行指令可以以各種方式來體現(xiàn)和/或?qū)崿F(xiàn),例如,通過計算機程序(例如,客戶端程序和/或服務器程序)、軟件應用(例如,客戶端應用和/或服務器應用)、軟件代碼、應用代碼、源代碼、可執(zhí)行文件、可執(zhí)行組件、程序模塊、例程、應用編程接口(API)、功能、方法、對象、屬性、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型和/或類似方式。計算機可執(zhí)行指令可以被存儲在一個或多個計算機可讀存儲介質(zhì)上,并且可以由一個或多個處理器、計算設備和/或計算機系統(tǒng)執(zhí)行,以執(zhí)行特定任務或者實現(xiàn)根據(jù)所描述的主題的方面的特定數(shù)據(jù)類型。
用戶體驗框架100可以由諸如客戶端設備101-106之類的一個或多個計算設備來實現(xiàn)。將客戶端設備101示出為個人計算機(PC)。將客戶端設備102示出為膝上型計算機。將客戶端設備103示出為智能電話。將客戶端設備104示出為平板設備。將客戶端設備105和客戶端設備106示出為電視和媒體設備(例如,媒體和/或游戲控制臺、機頂盒等等)。應當理解的是,為了說明的目的,提供了客戶端設備101-106的數(shù)量和類型。被配置為根據(jù)所描述的主題的方面來提供服務器托管的服務、基于云的服務和/或在線服務的計算機系統(tǒng)的一個或多個計算設備也可以實現(xiàn)用戶體驗框架100。
在使用與用戶有關的數(shù)據(jù)的實施方式中,用戶體驗框架100和/或提供和/或支持用戶體驗框架100的計算設備(例如,客戶端設備101-106、計算機系統(tǒng)的計算設備)可以采用對于用戶隱私和信息保護感興趣的各種機制。這樣的機制可以包括但不限于:需要授權(quán)來對數(shù)據(jù)進行監(jiān)測、收集或者報告;使得用戶能夠選擇加入和選擇退出數(shù)據(jù)監(jiān)測、收集和報告;采用隱私規(guī)則來防止某些數(shù)據(jù)被監(jiān)測、收集或者報告;提供用于對被許可監(jiān)測、收集或者報告的敏感性數(shù)據(jù)進行匿名、截斷或者模糊化的功能;采用數(shù)據(jù)保留策略來保護和清除數(shù)據(jù);和/或用于保護用戶隱私的其它適當?shù)臋C制。
如圖所示,用戶體驗框架100可以由被配置用于以下各項的一個或多個計算機程序模塊來實現(xiàn):輕解除管理、輕解除管理器實現(xiàn)、用戶接口注冊、輕解除用戶接口通知和阻擋面板實現(xiàn)。用戶體驗框架100的計算機程序模塊可以由存儲在一個或多個計算機可讀存儲介質(zhì)上并被實現(xiàn)為執(zhí)行根據(jù)所描述的主題的方面的各個步驟、方法和/或功能的計算機可執(zhí)行指令來實現(xiàn)。雖然以框圖形式示出這些計算機程序模塊來描述某種功能,但應當理解的是,由單個計算機程序模塊執(zhí)行的功能可以由多個計算機程序模塊來執(zhí)行,并且單個計算機程序模塊可以被配置為執(zhí)行被描述為由多個計算機程序模塊執(zhí)行的功能。
在一些場景中,當向用戶呈現(xiàn)某種類型的用戶接口(UI)表面時,應用可能需要用戶通過點擊“X”或“關閉”按鈕,顯式地從屏幕中解除該UI表面。但是,對于觸摸是接口的主要模式的各種應用來說,在很多場景下,通常優(yōu)選的是,每當用戶在給定的UI表面的邊界之外采取行動時,都從屏幕中“輕解除”某些UI表面。
輕解除管理模塊110可以被配置為:向應用提供對針對各種場景的輕解除行為進行定制,和/或在各種應用中實現(xiàn)一致的輕解除行為的能力。可以針對包括但不限于以下各項的各種UI表面,來控制輕解除行為:對象上UI、命令表面、控件、彈出式視窗(flyout)、標注(callout)、窗格、框(box)、條帶(ribbon)、菜單表面、彈出式窗口(pop-up)、彈出式菜單(pop-over)等等。根據(jù)所描述的主題,可以針對對各種類型的用戶輸入進行響應的UI表面,實現(xiàn)輕解除管理,所述用戶輸入包括但不限于:觸摸輸入(例如,敲擊、滑動、姿勢等等)、鼠標輸入、鍵盤(物理或虛擬)輸入、筆輸入和/或其它類型的用戶輸入。
輕解除管理器實現(xiàn)模塊111可以被配置為:實現(xiàn)用于應用用戶接口的輕解除管理器。對于特定的應用而言,輕解除管理器和/或其一部分可以被實現(xiàn)為對由該應用所提供的UI表面的輕解除行為進行控制。應當領會的是,不同的UI表面可以以各種各樣的方式來實現(xiàn)輕解除行為。因此,可以將輕解除管理器設計成:圍繞輕解除行為來管理各種場景的集中式控制。例如,輕解除管理器可以被配置為支持實現(xiàn)多個輕解除UI表面,以在多個輕解除UI表面(例如,對象上UI、命令表面、控件等等)之中保持一致的行為的場景。
可以針對包括但不限于以下各項的各種應用,來實現(xiàn)輕解除管理器:文字處理應用、電子表格應用、幻燈片呈現(xiàn)應用、筆記記錄應用、電子郵件應用、文本消息應用、以及使得用戶能夠選擇、授權(quán)和/或編輯內(nèi)容的其它類型的應用。因此,應用可以確定和/或決定如何對點擊和/或敲擊進行處理,以及可以如何采用輕解除管理器來完成期望的輕解除行為。輕解除管理器可以由在桌面型計算機、觸摸屏和/或移動設備上提供的用戶接口來使用,并且可以跨越各種形狀因子、架構(gòu)和/或應用來實現(xiàn)。
在一個實施例中,輕解除管理器類的實例可以被實例化或者對齊成被實現(xiàn)為每一視窗對象的輕解除管理器對象,例如,主視窗對象(例如,CoreWindow對象)等等。輕解除管理器類可以與主視窗(例如,CoreWindow)相分離和/或獨立,使得主視窗可以在全局導出函數(shù)之內(nèi)被獲取,并作為構(gòu)造器參數(shù)被傳遞給輕解除管理器類。可以通過靜態(tài)方法來獲取主視窗,所述靜態(tài)方法允許輕解除管理器實例在輕解除UI表面之內(nèi)被獲取。在一些實施方式中,輕解除管理器對象可以是在第一次使用時被實例化并保證將被摧毀的輕解除管理器類的單例對象。
在另一個實施例中,可以將輕解除管理器對象實現(xiàn)為每一應用框架用戶接口(例如,AppFrameUI)對象??梢韵蜉p解除UI表面的實例給予到輕解除管理器的引用,其可以沿著可擴展應用標記語言(XAML)樹來傳遞。這樣的方法可以通過打破或松開輕解除UI表面和輕解除管理器之間的耦合(這可以產(chǎn)生更佳的組件并更容易被測試框架使用)來提供益處。
輕解除管理器對象可以依賴于從其獲取根視覺元素,并用于引用輕解除行為的邊界和坐標的靜態(tài)視窗對象。輕解除管理器對象(例如,每一視窗對象、每一應用框架UI對象)可以與視窗對象具有1:1映射。因此,在存在多個視窗的場景中,可以存在多個輕解除管理器實例。在其它實施例中,例如,在依賴于單個視窗并因此依賴于一個根元素的場景中,可以將輕解除管理器對象實現(xiàn)為全局對象。
雖然每一視窗對象都可以實例化輕解除管理器,但實施例并不限于該上下文。例如,可以存在具有包含關系的多個視窗實例或者對象的場景,比如電子郵件應用嵌入文字處理應用。因此,可以實現(xiàn)輕解除管理器來解決這樣的場景,使得只實例化輕解除管理器的一個實例。
采用一個或多個輕解除UI表面的應用可以實現(xiàn)用于獲取輕解除管理器的實例的代碼。在一種實施方式中,可以通過調(diào)用諸如全局方法(例如,GetLightDissmissManger)之類的方法,來獲取輕解除管理器。該方法可以被規(guī)定為和/或操作為(例如,經(jīng)由GET方法)獲取針對當前線程的當前主視窗(例如,核心視窗)的實例,以及(例如,經(jīng)由GET方法)獲取輕解除管理器類的實例。該方法可以被規(guī)定為和/或操作為請求每一主應用視窗對象(例如,核心視窗對象)的輕解除管理器對象。如果從當前主應用視窗中發(fā)現(xiàn)輕解除管理器,則返回該輕解除管理器。例如,當前主應用視窗可以包含能用于查找輕解除管理器的引用或者鍵。如果沒有發(fā)現(xiàn)輕解除管理器或者其不存在,則可以創(chuàng)建輕解除管理器的實例。
輕解除用戶接口通知模塊112可以被配置為接收和發(fā)送針對輕解除UI表面的通知。當新的和/或子輕解除UI表面(其父親為和/或錨定到現(xiàn)有的輕解除UI表面)即將出現(xiàn)時,可以接收到通知,使得可以為該新的和/或子輕解除UI表面準備適當?shù)慕獬龣C制。當檢測到解除事件時,可以向一個或多個活動的輕解除UI表面(例如,打開的新的和/或子輕解除UI表面、沒有被錨定到該新的和/或子輕解除UI表面的活動的輕解除UI表面)發(fā)送用于指示解除事件應當或者將要導致解除的通知。
輕解除管理器可以規(guī)定與可以解除或者關閉活動的(例如,當前可見、打開的)輕解除UI表面的事件相對應的事件類型的集合。一種解除事件可以是:當新的輕解除UI表面(其不是活動的輕解除UI表面的子節(jié)點)將要打開時(例如,OtherSurfaceAboutToShow)。例如,在一些實施方式中,在一個時間,只準許一個活動的輕解除UI表面是活動的,除非單獨的輕解除UI表面處于父子關系。因此,創(chuàng)建不是子輕解除UI表面的新的輕解除UI表面可以對現(xiàn)有的輕解除UI表面進行解除。
另一個解除事件可以是:當已在活動的輕解除UI表面的邊界之外或者錨定的活動的輕解除UI表面的邊界之外檢測到敲擊或者點擊(例如,PointerPressed)時。在活動的輕解除UI表面(其沒有被錨定到子輕解除UI表面)的邊界之外進行敲擊或者點擊將解除活動的輕解除UI表面。當子輕解除UI表面被錨定到父輕解除UI表面時,在輕解除UI表面樹的邊界之外進行敲擊或者點擊將一起解除父輕解除UI表面和子輕解除UI表面。
另一種解除事件可以是:當已經(jīng)按下退出(Esc)鍵(例如,EscapeKeyPressed)時。在一些實施方式中,按下退出鍵將解除活動的輕解除UI表面,如果該活動的輕解除UI表面具有焦點的話。例如,如果用戶構(gòu)建輕解除窗格,隨后從該窗格中調(diào)用顏色選擇器標注,則按下退出鍵可以解除顏色選擇器標注,并且第二次按下退出鍵可以解除輕解除窗格。
另一個解除事件可以是:當應用已經(jīng)被去激活時(例如,AppDeactivated)。另一個解除事件可以是:當視窗大小已經(jīng)被改變時(例如,WindowSizeChanged)。在一些實施方式中,當應用失去焦點時(例如,經(jīng)由Alt-tab、Snapped-View、Charms調(diào)用、Edgy和/或其它操作系統(tǒng)層級命令),當視窗被調(diào)整大小時,和/或進入后臺時,可以解除所有目前的輕解除UI表面。
輕解除管理器還可以規(guī)定用于各種事件類型(例如,窗格打開和關閉事件)的解除事件變元。這些事件變元可以指定事件類型,以及輕解除UI表面是否實際地被解除或者由于該事件而將要被解除。
輕解除管理器可以被配置為對解除事件(例如,其它輕解除UI將要打開、在活動的輕解除UI表面的邊界之外點擊或者敲擊、按下退出鍵、應用去激活、視窗大小改變等等)進行偵聽。在一些實施方式中,主應用視窗可以指定用于視窗對象和輸入事件的接口(例如,ICoreWindow)以及用戶接口行為。因此,XAML組件可以接收用戶的輸入事件。在這樣的實施方式中,輕解除管理器可以對諸如指針按下事件(例如,ICoreWindow的PointerPressed事件)之類的輸入事件進行偵聽,所述輸入事件檢測敲擊、點擊和姿勢(例如,收縮(pinch)、滑動等等)。輕解除管理器可以實現(xiàn)用于確定點擊點或者觸摸點是落入在活動的輕解除UI表面之內(nèi)還是之外的邏輯。
用戶接口注冊模塊113可以被配置為接收用于注冊事件傳遞區(qū)域的請求,其中,在該事件傳遞區(qū)域,當輕解除UI表面可見時,將執(zhí)行點擊和/或敲擊。應用、應用用戶接口和/或應用用戶接口表面可以利用輕解除管理器來注冊排除區(qū)域或者事件傳遞區(qū)域,使得在存在活動的輕解除UI表面時,可見的某些用戶接口表面將接收和執(zhí)行也服務于解除一個或多個活動的輕解除UI表面的輸入事件。因此,應用可以確定和/或決定如何對點擊和/或敲擊進行處理,以及可以如何采用輕解除管理器來完成期望的輕解除行為。當存在活動的輕解除UI表面時,將點擊和/或敲擊傳遞到用于執(zhí)行的條帶或者窗格是這樣的場景的一個例子。
阻擋面板實現(xiàn)模塊114可以被配置為確定排除事件傳遞區(qū)域以及將被渲染在活動的輕解除UI表面之下的阻擋面板的形狀。在一個實施例中,當顯示輕解除UI表面時,可以由將輸入事件吸收或“吃入”到UI(例如,XAML)表面的阻擋面板,來實現(xiàn)缺省的輕解除行為。初始地,可以將阻擋面板實現(xiàn)為在活動的輕解除UI表面之后跨度整個應用窗的全屏的、透明UI表面(例如,矩形)。阻擋面板將不影響主應用視窗接口(例如,ICoreWindow),使得輕解除管理器將仍然接收和檢測輸入事件。將接收到針對阻擋面板的用戶輸入事件,以解除活動的輕解除UI表面。此外,該阻擋面板還不會影響針對與該阻擋面板相交迭的活動的輕解除UI表面的輸入事件。
各種UI表面可以規(guī)定其中阻擋面板不進行阻擋和/或不被實現(xiàn)的排除區(qū)域,使得用戶輸入事件穿過這樣的區(qū)域以便執(zhí)行。通常,排除區(qū)域或者事件傳遞區(qū)域可以對應于如下表面區(qū)域:完全可見并且沒有以任何方式被活動的輕解除UI表面的顯示遮擋的UI表面的表面區(qū)域。但是,在一些情況下,排除區(qū)域或者事件傳遞區(qū)域可以對應于如下表面區(qū)域:可見的并且沒有被活動的輕解除UI表面的顯示遮擋的UI表面的一部分的表面區(qū)域。
輕解除管理器可以向應用提供對針對各種場景的輕解除行為進行定制(例如,使用情況、模式等等),和/或在各種應用中實現(xiàn)一致的輕解除行為的能力。
輕解除管理器可以對輕解除行為進行管理,使得:如果不存在活動的輕解除UI表面,則給定的可見UI表面上的任何敲擊或點擊將被傳遞到應用,并被立即執(zhí)行。該輕解除管理器可以對輕解除行為進行管理,使得:如果存在活動的輕解除UI表面(例如,來自畫布的標注),則某些區(qū)域中的點擊和/或敲擊(例如,注冊的排除/事件傳遞區(qū)域)將解除任何活動的輕解除UI表面,并將傳遞到應用以便執(zhí)行。輕解除管理器可以對輕解除行為進行管理,使得:如果存在活動的輕解除UI表面,則其它區(qū)域(例如,沒有被注冊為排除/事件傳遞區(qū)域的UI表面)中的點擊和/或敲擊將解除任何活動的輕解除UI表面,并將不會傳遞到應用以便執(zhí)行。
輕解除管理器可以對輕解除行為進行管理,使得:如果存在活動的輕解除UI表面,則發(fā)生以下情形:(i)針對條帶或窗格(例如,應用和/或視窗的谷歌瀏覽器(chrome))內(nèi)的任何敲擊或點擊將始終傳遞到該條帶或者窗格,并將被立即執(zhí)行;(ii)該敲擊和/或點擊還將解除任何存在的輕解除UI表面,除非用戶的動作在輕解除UI表面之內(nèi);(iii)針對畫布中的點擊和/或敲擊將解除活動的輕解除UI表面;(iv)針對畫布中的點擊和/或敲擊將解除活動的輕解除UI表面,但將不被吸收或吃掉,所以該點擊和/或敲擊不會傳遞到應用以便執(zhí)行;以及在用于解除活動的輕解除UI表面的針對畫布中的點擊和/或敲擊之后進行的針對畫布中的點擊和/或敲擊將傳遞到應用以便執(zhí)行。
輕解除管理器可以對輕解除行為進行管理,使得:如果輕解除UI表面被錨定到另一個輕解除UI表面(例如,具有打開子菜單打開的浮動菜單條、具有標注的輕解除窗格),則發(fā)生以下情形:(i)針對畫布內(nèi)的任何敲擊和/或點擊將對兩個輕解除UI表面一起解除;(ii)針對畫布中的敲擊和/或點擊將被吸收或吃掉,所以該點擊和/或敲擊不會傳遞到應用以便執(zhí)行;以及(iii)針對條帶或窗格內(nèi)的任何敲擊或點擊將始終傳遞到應用以便執(zhí)行。
輕解除管理器可以對輕解除行為進行管理,使得:當在應用處于某種模式(例如,閱讀模式、幻燈模式)的同時呈現(xiàn)活動的輕解除UI表面時,任何點擊或者敲擊點擊都將解除任何活動的輕解除UI表面,并將始終傳遞給條帶、窗格或者畫布。
輕解除管理器可以對輕解除行為進行管理,使得:如果在不存在任何活動的輕解除UI表面的情況下呈現(xiàn)彈出式條帶,則發(fā)生以下情形:(i)所有敲擊和/或點擊都將執(zhí)行;以及(ii)位于該彈出式條帶之外的敲擊和/或點擊將解除該彈出式條帶。
輕解除管理器可以對輕解除行為進行管理,使得:如果在存在活動的輕解除UI表面(例如,彈出式條帶子菜單)的情況下呈現(xiàn)彈出式條帶,則發(fā)生以下情形:(i)針對該彈出式條帶內(nèi)的所有點擊和/或敲擊都將執(zhí)行,并解除任何活動的輕解除UI表面;以及(ii)位于該彈出式條帶之外的敲擊和/或點擊將解除該彈出式條帶和任何活動的輕解除UI表面。在一種實施方式中,將執(zhí)行彈出式條帶之外的點擊和/或敲擊(例如,針對畫布內(nèi)的)。在另一種實施方式中,針對畫布中的點擊和/或敲擊將被吸收或吃掉,因此不會執(zhí)行該點擊和/或敲擊。
輕解除管理器和/或其一部分可以由或者針對工作在各種模式(例如,閱讀模式、編輯模式、幻燈模式)或方向(例如,肖像視圖、風景視圖、50/50視圖)的應用進行實現(xiàn),并可以被設計為在多種模式和/或多個方向中提供一致的輕解除功能和/或行為。輕解除管理器和/或其一部分可以由或者針對跨越各種觸摸屏設備(例如,桌面形計算機、膝上形計算機、平板設備、移動電話)、形狀因子和/或輸入類型進行工作的應用來實現(xiàn),并可以被設計為跨越多種觸摸屏設備、多種形狀因子和/或多種輸入類型來提供一致的輕解除功能和/或行為。輕解除管理器和/或其一部分可以由或者針對跨越各種操作系統(tǒng)(例如,操作系統(tǒng)、AndriodTM操作系統(tǒng)、Apple iOSTM操作系統(tǒng))進行工作的應用來實現(xiàn),并可以被設計為跨越多種操作系統(tǒng)來提供一致的輕解除功能和/或行為。輕解除管理器和/或其一部分可以由或者針對采用輕解除UI表面的不同應用來實現(xiàn),并可以被設計為跨越不同的應用來提供一致的輕解除功能和/或行為。
輕解除管理器可以有利地提供一致的、可理解的用戶體驗,以便當存在臨時的、輕解除UI表面時,用戶可以有信心接收期望的響應。輕解除管理器還可以跨越各種UI表面類型、跨越各種輸入類型和跨越各種應用,提供應用中的一致的用戶體驗。另外,輕解除管理器可以對輕解除行為進行管理,以使完成一個動作所需要的點擊或者敲擊的數(shù)量最小化,同時使屏幕上元素的偶然調(diào)用最小化,以便當用戶在提供針對應用的觸摸輸入時感覺到安全和舒適。輕解除管理器還可以通過跨越桌面型計算機和移動實現(xiàn)實現(xiàn)一致的功能和/或行為,來保持用戶效率。輕解除管理器還可以允許用戶瀏覽條帶,并經(jīng)由單個點擊或敲擊來執(zhí)行該條帶中的命令,而無需額外的中間敲擊來解除打開標注。
提供下面的示例性實施例、實施方式、例子和場景,以便進一步示出所描述的主題的方面。應當理解的是,提供下面的示例性實施例、實施方式、例子和場景只是用于說明目的,而不是進行限制。
示例性輕解除管理器通信
圖2A-C示出了根據(jù)所描述的主題的方面的輕解除管理器200和各種用戶接口表面之間的示例性通信。輕解除管理器200可以是由用戶體驗框架100、輕解除管理模塊110和/或輕解除管理器實現(xiàn)模塊111來實現(xiàn)的輕解除管理器的例子。輕解除管理器200可以包括和/或露出:用于與由應用和/或應用用戶接口提供的各種用戶接口表面進行通信的應用編程接口(API)。
參見圖2A,輕解除管理器200可以與將在應用用戶接口中打開的新的輕解除UI表面201進行通信。輕解除管理器200可以露出API,該API包括當新的輕解除UI表面201即將出現(xiàn)時所調(diào)用的方法。該API還可以包括當子輕解除UI表面(其父親為和/或被錨定到現(xiàn)有輕解除UI表面)即將出現(xiàn)時將調(diào)用的方法。在輕解除UI表面被打開以通知輕解除管理器200準備適當?shù)慕獬龣C制之前,輕解除UI表面可以調(diào)用這些方法中的每一個方法。輕解除管理器200可以從調(diào)用的輕解除UI表面接收表面區(qū)域參數(shù),輕解除管理器200可以使用該參數(shù)來確定點擊或者觸摸點是否落入到活動的輕解除UI表面或者父-子輕解除UI表面的邊界之外。當這些方法中的每一個方法被調(diào)用時,輕解除管理器200可以向調(diào)用的輕解除UI表面提供表面標識符。
參見圖2B,輕解除管理器200可以與一個或多個活動的輕解除UI表面201-203進行通信。在新的輕解除UI表面即將打開時,將調(diào)用的這些方法中的每一個方法可以包括回調(diào)函數(shù)。當輕解除管理器200檢測到解除事件時,輕解除管理器200可以調(diào)用該回調(diào)函數(shù)??梢詫⑹录冊鳛橛糜诨卣{(diào)函數(shù)的參數(shù),從輕解除管理器200傳遞到活動的輕解除UI表面。該API還可以包括當控制被釋放時可以由輕解除UI表面調(diào)用的另一種方法,使得不會調(diào)用另外的回調(diào)。
當解除事件發(fā)生時,輕解除管理器200可以利用解除變元來調(diào)用該回調(diào)函數(shù),以便向活動的輕解除UI表面201-203通知該解除事件是否應當或者將要導致解除。在一些實施方式中,在活動的輕解除UI表面從輕解除管理器200接收到應當或者將要導致解除的解除事件已發(fā)生的通知(例如,經(jīng)由解除變元)時,其可以對自己進行解除。
在一些實施方式中,輕解除UI表面可以被配置為忽略或者覆蓋從輕解除管理器200接收的某些解除事件和/或解除變元。來自輕解除管理器200的通知可以被應用或者活動的輕解除UI表面實現(xiàn)為和/或?qū)Υ秊椋菏冀K造成輕解除UI表面的解除的顯式指令、可以基于某種標準來覆蓋的指令、或者應用或活動的輕解除UI表面可以忽略的指令或者建議。
可以針對可以與輕解除管理器200進行注冊的各種類型的UI表面(例如,對象上UI、命令表面、控件等等)應用輕解除行為。在注冊的輕解除UI之上構(gòu)建的組件或者表面(例如,在彈出式視窗上構(gòu)建的上下文菜單)可以繼承針對基層組件所做出的改變。不是在注冊的輕解除UI或者控件之上構(gòu)建的定制組件或表面仍然能夠與輕解除管理器200進行注冊,以繼承輕解除行為。
當顯示輕解除UI表面時,在該輕解除UI表面的邊界之外發(fā)生的輸入事件(例如,點擊、敲擊、姿勢等等)可以關閉該輕解除UI表面。在各種實施方式中,缺省的輕解除行為可以是在該過程期間吸收或“吃掉”該點擊或敲擊,使得該敲擊的目標不會接收和/或執(zhí)行該敲擊。例如,缺省而言,位于輕解除UI表面之外的按鈕上的敲擊可以解除該輕解除UI表面,但該按鈕將不會獲得該敲擊事件。
參見圖2C,輕解除管理器200可以與諸如條帶204、窗格205和/或定制UI表面206之類的一個或多個渲染的UI表面進行通信。為了對針對一個或多個應用、視窗、UI表面和/或用戶的輕解除行為進行定制、標準化、修改和/或規(guī)定,輕解除管理器200可以包括如下機制:用于指定其中用戶輸入事件(例如,點擊、敲擊、姿勢等等)不被吸收或“吃掉”,而是被允許傳遞到應用和/或UI元素以便執(zhí)行的UI區(qū)域和/或場景的機制。在一種實施方式中,由輕解除管理器200露出的API可以包括:可以由各種UI表面(例如,條帶204、窗格205、定制UI表面206、控件等等)為了請求、規(guī)定和/或注冊“排除區(qū)域”或“事件傳遞區(qū)域”而調(diào)用的方法。
輕解除管理器200可以使得UI表面能夠與輕解除管理器200進行注冊,如果該UI表面想要使用阻擋面板來進行輕解除的話。UI表面可以調(diào)用輕解除管理器200的該API以便請求使用阻擋面板和注冊排除區(qū)域或事件傳遞區(qū)域。該API還可以包括:注冊的UI表面為了移除排除區(qū)域或事件傳遞區(qū)域而調(diào)用的方法。
示例性阻擋面板實現(xiàn)
圖3A和圖3B示出了根據(jù)所描述的主題的方面的示例性阻擋面板實現(xiàn)。排除事件傳遞區(qū)域的阻擋面板的形狀可以由阻擋面板實現(xiàn)模塊114和/或輕解除管理器200來確定。在一種實施方式中,當新的和/或子輕解除UI表面向輕解除管理器200通知其即將打開(例如,新的和/或子輕解除UI表面調(diào)用API)時,輕解除管理器200調(diào)用回調(diào)方法來向一個或多個活動的輕解除UI表面通知(例如,經(jīng)由輕松解除變元)適當?shù)妮p解除行為。此外,輕解除管理器200可以對用于調(diào)用的輕解除UI表面的阻擋面板進行確定、計算和/或創(chuàng)建,以管理各種輕解除場景中的用戶輸入事件。
參見圖3A,初始阻擋面板300可以是整個屏幕。當條帶(和/或窗格)注冊排除區(qū)域301時,所獲得的阻擋面板302是整個屏幕的表面區(qū)域減去該條帶(和/或窗格)的表面區(qū)域所得到的結(jié)果。
參見圖3B,初始阻擋面板300可以是整個屏幕。當UI表面注冊定制排除區(qū)域303時,所獲得的阻擋面板304是整個屏幕的表面區(qū)域減去該定制排除區(qū)域的表面區(qū)域所得到的結(jié)果。
由于在活動的輕解除UI表面之下繪制阻擋面板,因此活動的輕解除UI表面的表面區(qū)域被自動地排除。在一種實施方式中,隨著注冊并增加新的排除區(qū)域,輕解除管理器可以執(zhí)行幾何減法操作,以重新規(guī)定最終阻擋面板的尺寸。針對存在由多個UI表面所注冊的多個排除區(qū)域的情況(其將不產(chǎn)生矩形區(qū)域),輕解除管理器可以實現(xiàn)用于根據(jù)多個減法操作來生成多邊形(例如,多矩形)的算法。例如,可以利用多個矩形來構(gòu)造阻擋面板之內(nèi)的排除區(qū)域。替代地或另外地,輕解除管理器和/或阻擋面板可以實現(xiàn)用于確定是否是在排除區(qū)域中接收到點擊或者敲擊,以及將該點擊或敲擊傳遞到下層的UI表面(例如,條帶、窗格、畫布區(qū)域等等)的邏輯。
示例性用例場景
在一個示例性用例場景中,用戶在文字處理應用文檔中鍵入文本,并想要改變該文本的格式。用戶點擊或者敲擊條帶中的“顏色”按鈕,并且顏色選擇器畫廊(gallery)標注被顯示出。用戶從顏色選擇器畫廊中選擇顏色,這并不解除該標注,隨后用戶點擊或者敲擊字體選擇器。在一次點擊或敲擊中,顏色選擇器畫廊解除,并且字體選擇器標注被顯示出。用戶選擇字體,并隨后敲擊返回到畫布內(nèi)。在敲擊到畫布內(nèi)時,字體選擇器被解除,并且敲擊被吸收或“吃掉”,使得不放置用戶的插入指針。在針對畫布內(nèi)的下一個敲擊時,用戶的插入指針被移動到該敲擊的位置,隨后用戶可以開始再次鍵入。
在另一種示例性用例場景中,用戶將圖片插入到幻燈片呈現(xiàn)應用幻燈片中,并想要對該圖片調(diào)整大小(例如,縮小)。用戶執(zhí)行按下并保持命令,以便在調(diào)用點處構(gòu)建上下文菜單,但沒有發(fā)現(xiàn)期望的選項。隨著用戶繼續(xù)進行搜索,用戶的下一次敲擊是在“圖片”標簽上的條帶上。用戶在圖片標簽上的敲擊被立即執(zhí)行,并且在條帶中顯示出圖片選項。另外,上下文菜單被立即解除?,F(xiàn)在,用戶能夠經(jīng)由條帶上的選項,對該圖片調(diào)整大小,并移動到下一張幻燈片。
輕解除行為的示例性實施方式
圖4A-E示出了用于在觸摸屏計算設備上執(zhí)行的應用用戶接口400的輕解除行為的示例性實施方式。在圖4A中,示出了在可編輯區(qū)域內(nèi)具有文檔內(nèi)容的文檔401。用戶對于詞語的選擇(例如,雙擊該文字、放置和拖動以及插入指針)可以在所選定的詞語403的右上方,調(diào)用上下文指示符402的顯示。上下文指示符402可以顯示圖標(例如,諸如省略號或字母、符號、圖像等等之類的文本字符),以指示或者表示用戶能夠訪問針對與上下文有關功能的命令。
用戶對于上下文指示符402的選擇可以將浮動命令條404調(diào)用成輕解除UI表面,該輕解除UI表面隱藏上下文指示符402或者位于上下文指示符402之上,并延伸到右邊,如圖4B中所示。浮動命令條402提供包括以下各項的示例性命令集:通過相應的按鈕來實現(xiàn)的粘貼命令、復制命令和刪除命令。
當顯示浮動命令條404時,如圖4B中所示,用戶可以在文檔401的畫布中敲擊。響應于針對畫布中的敲擊,浮動命令條404被解除,并且上下文指示符402可以再次被顯示,如圖4A中所示。
當顯示浮動命令條404時,如圖4B中所示,用戶可以在被實現(xiàn)為工具欄的標簽式集合的條帶406中的特定命令405中敲擊。響應于針對條帶406中的敲擊,浮動命令條404可以被解除,上下文指示符402可以被再次顯示,并且來自條帶406的標注407可以被顯示,如圖4C中所示。
用戶可以選擇表408,并在條帶406中敲擊,以調(diào)用窗格409,如圖4D中所示。用戶可以在窗格409中敲擊,以顯示作為子輕解除UI接口表面的彈出式視窗410,該子輕解除UI接口表面是從父輕解除UI表面調(diào)用的并被錨定到父輕解除UI表面。當顯示窗格409和彈出式視窗410時,用戶可以在文檔401的畫布中敲擊。響應于針對畫布中的敲擊,彈出式視窗410(子輕解除UI表面)和窗格409(父輕解除UI表面)被一起解除,如圖4E中所示。當窗格409和彈出式視窗410被解除時,表408維持在選定的狀態(tài)。
圖5A-D示出了用于在處于閱讀模式的觸摸屏計算設備上執(zhí)行的應用用戶接口500的輕解除行為的示例性實施方式。用戶對于文檔501中的詞語的選擇可以在位于所選定的詞語503的右上方,調(diào)用上下文指示符502的顯示,如圖5A中所示。用戶可以觸摸應用用戶接口500的上部,并以向下方向進行滑動。響應于該滑動,上下文指示符502可以被解除,并且用于實現(xiàn)命令集合的彈出式條帶504可以在應用用戶接口500的上部顯示,如圖5B中所示。當顯示彈出式條帶504時,選定的詞語503維持在選定狀態(tài)。
當顯示彈出式條帶504時,如圖5B中所示,用戶可以敲擊彈出式條帶504上的命令505。響應于針對彈出式條帶504上的命令505中的敲擊,可以將來自于彈出式條帶504的標注506調(diào)用成輕解除UI表面,如圖5C中所示。
當顯示標注506時,如圖5C中所示,用戶可以在文檔501的畫布中敲擊或者雙擊。針對畫布中的敲擊或雙擊可以被吸收或者“吃掉”,以解除標注506、解除彈出式條帶504、以及取消選擇所選定的詞語503。在一些實施方式中,針對畫布中的敲擊或雙擊可以解除標注506、解除彈出式條帶504、取消選擇所選定的詞語503、以及基于用戶的觸摸點來選擇畫布中的新詞語,如圖5D中所示。上下文指示符502可以位于新的選定詞語507的右上方。
在一些實施方式中,可以將彈出式條帶504和標注506對待為父和子輕解除UI表面。替代地或另外地,可以將彈出式條帶504對待為用于注冊事件傳遞區(qū)域的渲染的UI表面。
用于管理輕解除行為的示例性過程
繼續(xù)參見前面的附圖,下面描述一種示例性過程以進一步說明所描述的主題的方面。應當理解的是,下面的示例性過程并不旨在將所描述的主題限制于特定的實施方式。
圖6示出了計算機實現(xiàn)的方法600,其作為根據(jù)所描述的主題的方面的用于管理輕解除行為的示例性過程的實施例。在各種實施例中,計算機實現(xiàn)的方法600可以由計算設備和/或包括一個或多個計算設備的計算機系統(tǒng)來執(zhí)行。應當領會的是,計算機實現(xiàn)的方法600或者其一部分可以由各種計算設備、計算機系統(tǒng)、組件和/或存儲在一個或多個計算機可讀存儲介質(zhì)上的計算機可執(zhí)行指令來執(zhí)行。
在610處,計算設備可以對用于應用用戶接口的輕解除管理器進行實例化。例如,諸如客戶端設備101-106中的一個之類的計算設備可以對用于應用用戶接口400或應用用戶接口500的輕解除管理器200進行實例化。輕解除管理器200可以由計算設備、應用和/或應用用戶接口,經(jīng)由輕解除管理模塊110和/或輕解除管理器實現(xiàn)模塊111來實例化。
在620處,輕解除管理器可以從應用用戶接口的渲染的用戶接口表面接收用于注冊事件傳遞區(qū)域的請求。例如,輕解除管理器200可以從應用用戶接口400或應用用戶接口500的渲染的用戶接口表面(例如,條帶406、彈出式條帶504、窗格和/或定制用戶接口表面)接收用于注冊事件傳遞區(qū)域的請求。輕解除管理器200可以露出應用編程接口,該應用編程接口包括由渲染的用戶接口表面為了注冊事件傳遞區(qū)域而調(diào)用的方法。
在630處,輕解除管理器可以接收將在該應用用戶接口中打開新的輕解除用戶接口表面的通知。例如,輕解除管理器200可以接收將在應用用戶接口400或者應用用戶接口500中打開新的輕解除用戶接口表面(例如,浮動命令條404、窗格409、彈出式視窗410、標注506等等)的通知。輕解除管理器200可以露出應用編程接口,該應用編程接口包括在新的輕解除用戶接口表面被打開之前,由該新的輕解除用戶接口表面調(diào)用的方法。如果該新的輕解除用戶接口表面是從活動的輕解除用戶接口表面調(diào)用的,則當該新的輕解除用戶接口表面被打開時,該活動的輕解除用戶接口表面被保持打開。如果該新的輕解除用戶接口表面不是從活動的輕解除用戶接口表面調(diào)用的,則當該新的輕解除用戶接口表面被打開的時,該活動的輕解除用戶接口表面被關閉。
在640處,輕解除管理器可以確定排除事件傳遞區(qū)域的透明阻擋面板的形狀。例如,輕解除管理器200可以確定排除事件傳遞區(qū)域(例如,條帶301、定制排除區(qū)域303等等)的透明阻擋面板(例如,阻擋面板302、阻擋面板304等等)的形狀。輕解除管理器200可以從全屏幕透明阻擋面板中排除該事件傳遞區(qū)域。在一些實施方式中,透明阻擋面板可以排除由多個渲染的用戶接口表面注冊的多個事件傳遞區(qū)域。
在650處,計算設備和/或輕解除管理器可以在新的輕解除用戶接口表面之下渲染透明阻擋面板。例如,當在應用用戶接口400或者應用用戶接口500中打開新的輕解除用戶接口表面(例如,浮動命令條404、窗格409、彈出式視窗410、標注506等等)時,可以在新的輕解除用戶接口表面之下渲染透明阻擋面板(例如,阻擋面板302、阻擋面板304等等)。透明阻擋面板可以被配置為:防止執(zhí)行與該應用用戶接口中的位于新的輕解除用戶接口表面(例如,浮動命令條404、窗格409、彈出式視窗410、標注506等等)和事件傳遞區(qū)域(例如,條帶301、定制排除區(qū)域303等等)二者之外的可見部分相關聯(lián)的命令。
在660處,輕解除管理器可以針對解除事件,對應用用戶接口進行監(jiān)測。例如,當新的輕解除用戶接口表面(例如,浮動命令條404、窗格409、彈出式視窗410、標注506等等)是打開的時,輕解除管理器200可以針對解除事件,對應用用戶接口400或者應用用戶接口500進行監(jiān)測。示例性解除事件可以包括:針對新的輕解除用戶接口表面的邊界之外的輸入事件,打開不是從新的輕解除用戶接口表面調(diào)用的另一個輕解除用戶接口表面,按下某些鍵,丟失應用用戶接口的焦點,和/或其它適當?shù)慕獬录?/p>
在670處,輕解除管理器可以檢測針對渲染的用戶接口表面的可見部分的輸入事件。例如,當新的輕解除用戶接口表面(例如,浮動命令條404、窗格409、彈出式視窗410、標注506等等)是打開的時,輕解除管理器200可以檢測針對應用用戶接口400或者應用用戶接口500的渲染的用戶接口表面(例如,條帶406、彈出式條帶504、窗格和/或定制用戶接口表面)的可見部分的輸入事件(例如,來自用戶的觸摸輸入)。
在680處,響應于該輸入事件,計算設備、輕解除管理器和/或應用用戶接口可以關閉新的輕解除用戶接口表面,并執(zhí)行命令。例如,響應于該輸入事件,輕解除管理器200可以向新的輕解除用戶接口表面(例如,浮動命令條404、窗格409、彈出式視窗410、標注506等等)發(fā)送解除通知。輕解除管理器200可以露出應用編程接口,該應用編程接口包括當檢測到輸入事件時,被調(diào)用以便向新的輕解除用戶接口表面發(fā)送解除通知的回調(diào)方法。在一些情況下,在接收到該解除通知時,可見的輕解除用戶接口表面可以關閉其自己。如果新的輕解除用戶接口表面是從活動的輕解除用戶接口表面調(diào)用的(其中,當新的輕解除用戶接口表面被打開時,該活動的輕解除用戶接口表面被保持打開),則響應于該輸入事件,輕解除管理器200可以向活動的輕解除用戶接口表面發(fā)送解除通知。與關閉新的輕解除用戶接口表面一起,與渲染的用戶接口表面的可見部分相關聯(lián)的命令(例如,命令405、命令505、選擇文檔中的詞語等等)和/或針對事件傳遞區(qū)域的命令可以由計算設備、應用和/或應用用戶接口來執(zhí)行。
示例性操作環(huán)境
所描述的主題的方面可以針對和/或由各種操作環(huán)境、計算機網(wǎng)絡、平臺、框架、計算機架構(gòu)和/或計算設備來實現(xiàn)。所描述的主題的方面可以由能夠由一個或多個計算設備、計算機系統(tǒng)和/或處理器執(zhí)行的計算機可執(zhí)行指令來實現(xiàn)。
在其最基本配置中,計算設備和/或計算機系統(tǒng)可以包括至少一個處理單元(例如,單處理器單元、多處理器單元、單核單元和/或多核單元)和存儲器。根據(jù)計算機系統(tǒng)或計算設備的精確配置和類型,計算設備和/或計算機系統(tǒng)實現(xiàn)的存儲器可以是易失性的(例如,隨機存取存儲器(RAM))、非易失性的(例如,只讀存儲器(ROM)、閃存等等)、或者其組合。
計算設備和/或計算機系統(tǒng)可以具有另外的特征和/或功能。例如,計算設備和/或計算機系統(tǒng)可以包括諸如另外的(例如,可移動和/或不可移動)存儲單元之類的硬件,其包括但不限于:固態(tài)盤、磁盤、光盤或者磁帶。
通常,計算設備和/或計算機系統(tǒng)可以包括或者可以訪問各種各樣的計算機可讀介質(zhì)。例如,計算機可讀介質(zhì)可以體現(xiàn)用于由計算設備和/或計算機系統(tǒng)執(zhí)行的計算機可執(zhí)行指令。計算機可讀介質(zhì)可以是能夠由計算設備和/或計算機系統(tǒng)訪問的任何可用介質(zhì),其包括易失性和非易失性介質(zhì)、以及可移動和不可移動介質(zhì)二者。如本文所使用的,術語“計算機可讀介質(zhì)”包括計算機可讀存儲介質(zhì)和通信介質(zhì)。
如本文所使用的術語“計算機可讀存儲介質(zhì)”包括易失性和非易失性、可移動和不可移動介質(zhì),以存儲諸如計算機可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)之類的信息。計算機可讀存儲介質(zhì)的例子包括但不限于:諸如RAM、ROM、電可擦除可編程只讀存儲器(EEPROM)、半導體存儲器、動態(tài)存儲器(例如,動態(tài)隨機存取存儲器(DRAM)、同步動態(tài)隨機存取存儲器(SDRAM)、雙數(shù)據(jù)速率同步動態(tài)隨機存取存儲器(DDR SDRAM)等)、集成電路、固態(tài)驅(qū)動器、閃存(例如,基于NAN的閃存)、存儲芯片、存儲卡、存儲棒、拇指驅(qū)動器等等的存儲器存儲設備;諸如藍光光盤、數(shù)字視頻光盤(DVD)、壓縮光盤(CD)、CD-ROM、光盤盒等等的光存儲介質(zhì);包括硬盤驅(qū)動器、軟盤、軟磁盤、盒式磁帶、磁帶等等的磁存儲介質(zhì);以及其它類型的計算機可讀存儲介質(zhì)。應當領會的是,各種類型的計算機可讀存儲介質(zhì)(例如,存儲器和另外的硬件存儲單元)可以是計算設備和/或計算機系統(tǒng)的一部分。如本文所使用的,術語“計算機可讀存儲媒體”和“計算機可讀存儲介質(zhì)”并不意味和明確地排除傳播信號、調(diào)制的數(shù)據(jù)信號、載波波形或者任何其它類型的臨時計算機可讀介質(zhì)。
通常,通信介質(zhì)體現(xiàn)計算機可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者調(diào)制的數(shù)據(jù)信號(例如,載波波形或者其它傳輸機制)中的其它數(shù)據(jù),并包括任何信息傳送介質(zhì)。術語“調(diào)制的數(shù)據(jù)信號”意味著具有以這樣的方式對其特性中的一個或多個特性進行設置或改變,以便在該信號中對信息進行編碼的信號。通過舉例但非限制的方式,通信介質(zhì)包括諸如有線網(wǎng)絡或者直接有線連接之類的有線介質(zhì),以及諸如聲學、射頻、紅外線之類和其它無線介質(zhì)之類的無線介質(zhì)。
在各種實施例中,所描述的主題的方面可以由在一個或多個計算機可讀存儲介質(zhì)上存儲的計算機可執(zhí)行指令來實現(xiàn)??梢允褂弥T如以下各項之類的任何各種類型的適當編程語言和/或標記語言,來實現(xiàn)計算機可執(zhí)行指令:可擴展應用標記語言(XAML)、XML、XBL HTML、XHTML、XSLT、XMLHttpRequestObject、CSS、文檔對象模型(DOM)、JavaScript、JavaScript對象符號(JSON)、Jscript、ECMA script、Ajax、SilverlightTM、Visual(VB)、VBScript、PHP、ASP、Python、C、面向?qū)ο驝、C++、C#/.net和/或其它語言。
計算設備和/或計算機系統(tǒng)可以包括各種輸入設備、輸出設備、通信接口和/或其它類型的設備。示例性輸入設備包括但不限于:用戶接口、鍵盤/按鍵板、觸摸屏、觸摸板、筆、鼠標、跟蹤球、遠程控制、游戲控制器、照相機、條形碼閱讀器、麥克風或其它語音輸入設備、視頻輸入設備、激光測距儀、運動感測設備、姿勢檢測設備和/或其它類型的輸入機制和/或設備。計算設備可以提供使得用戶能夠以“自然”方式、免受輸入設備(例如,鼠標、鍵盤、遠程控制等等)施加的人工約束,與該計算設備進行交互的自然用戶接口(NUI)。NUI技術的例子包括但不限于:語音和/或聲音識別、觸摸和/或手寫識別、使用加速計的屏幕上和與屏幕相鄰的運動和/或姿勢識別、陀螺儀和/或深度相機(例如,立體或飛行時間照相機系統(tǒng)、紅外照相機系統(tǒng)、RGB照相機系統(tǒng)和/或其組合)、頭部和眼球跟蹤、視線跟蹤、臉部識別、3D顯示、沉浸式增強現(xiàn)實和虛擬現(xiàn)實系統(tǒng)、用于使用電場感應電極(EEG和有關的方法)來感測腦部活動、意圖和/或目標理解的技術和機器智能。
計算設備可以被配置為根據(jù)實施方式,以各種方式對輸入進行接收和響應??梢砸岳绨ㄒ韵赂黜椀母鞣N形式來呈現(xiàn)響應:呈現(xiàn)用戶接口、輸出諸如圖像、視頻、多媒體對象、文檔之類的對象和/或其它類型的對象;輸出文本響應;提供與響應的內(nèi)容相關聯(lián)的鏈路;輸出計算機生成的語音響應或者其它音頻;或者響應的其它類型的視覺和/或音頻呈現(xiàn)。示例性輸出設備包括但不限于:顯示器、投影儀、揚聲器、打印機和/或其它類型的輸出裝置和/或設備。
計算設備和/或計算機系統(tǒng)可以包括允許在其它計算設備和/或計算機系統(tǒng)之間和當中進行通信的一個或多個通信接口。在各個計算設備和/或計算機系統(tǒng)之間和當中,可以在網(wǎng)絡通信的上下文中,使用通信接口。通信接口可以允許計算設備和/或計算機系統(tǒng)與其它設備、其它計算機系統(tǒng)、web服務(例如,附屬Web服務、第三方web服務、遠程web服務等等)、web服務應用和/或信息源(例如,附屬信息源、第三方信息源、遠程信息源等等)進行通信。因此,可以在訪問各種類型的資源、從各種類型的資源獲得數(shù)據(jù)、和/或與各種類型的資源進行協(xié)作的上下文中,使用通信接口。
還可以在網(wǎng)絡或者網(wǎng)絡組合上分發(fā)計算機可執(zhí)行指令的上下文中,使用通信接口。例如,可以使用遠程計算機和存儲設備,對計算機可執(zhí)行指令進行組合或者分發(fā)。本地或終端計算機可以訪問遠程計算機或遠程存儲設備,以及下載計算機程序或者該計算機程序的一個或多個部分以便執(zhí)行。還應當領會的是,可以通過執(zhí)行本地終端處的一些指令和執(zhí)行遠程計算機處的一些指令,來分發(fā)計算機可執(zhí)行指令的執(zhí)行。
計算設備可以由諸如以下各項之類的移動計算設備來實現(xiàn):移動電話(例如,蜂窩電話、比如電話、Apple iPhone、電話、實現(xiàn)AndroidTM操作系統(tǒng)的電話、實現(xiàn)操作系統(tǒng)的電話、或者實現(xiàn)移動操作系統(tǒng)的其它類型的電話之類的智能電話)、平板計算機(例如,設備、Apple iPadTM、三星GalaxyPro、或者其它類型的平板設備)、膝上型計算機、筆記本計算機、上網(wǎng)本計算機、個人數(shù)字助理(PDA)、便攜式媒體播放器、手持游戲控制臺、可穿戴計算設備(例如,智能手表、包括諸如GlassTM、可穿戴監(jiān)視器等等的頭戴設備)、個人導航設備、車載計算機(例如,板載導航系統(tǒng))、照相機或者其它類型的移動設備。
計算設備可以由諸如以下各項之類的靜止計算設備來實現(xiàn):桌面型計算機、個人計算機、服務器計算機、娛樂系統(tǒng)設備、媒體播放器、媒體系統(tǒng)或控制臺、視頻游戲系統(tǒng)或控制臺、多用途系統(tǒng)或控制臺(例如,諸如比如系統(tǒng)或控制臺、系統(tǒng)或控制臺、系統(tǒng)或控制臺、或者其它類型的多用途游戲系統(tǒng)或控制臺之類的組合的多媒體和視頻游戲系統(tǒng)或控制臺)、機頂盒、電器(例如,電視、冰箱、烹飪器具等等)或者其它類型的靜止計算設備。
計算設備還可以由包括以下各項的其它類型的基于處理器的計算設備來實現(xiàn):數(shù)字信號處理器、現(xiàn)場可編程門陣列(FPGA)、程序和應用專用集成電路(PASIC/ASIC)、程序和應用專用標準產(chǎn)品(PSSP/ASSP)、片上系統(tǒng)(SoC)、復雜可編程邏輯器件(CPLD)等等。
計算設備可以包括和/或運行由例如該計算設備的軟件、固件、硬件、邏輯單元和/或電路實現(xiàn)的一個或多個計算機程序??梢砸愿鞣N方式,將計算機程序分發(fā)和/或安裝在計算設備上。例如,根據(jù)實施方式,計算機程序可以由原始設備制造商(OEM)預安裝在計算設備上,作為另一個計算機程序的安裝的一部分來安裝在計算設備上,從應用商店中下載并安裝在計算設備上,由系統(tǒng)管理員使用企業(yè)網(wǎng)絡管理工具進行分發(fā)和/或安裝,以及以各種其它方式進行分發(fā)和/或安裝。
由計算設備實現(xiàn)的計算機程序可以包括一個或多個操作系統(tǒng)。示例性操作系統(tǒng)包括但不限于:操作系統(tǒng)(例如,操作系統(tǒng))、操作系統(tǒng)(例如,ChromeTM操作系統(tǒng)或AndroidTM操作系統(tǒng))、Apple操作系統(tǒng)(例如,Mac或Apple iOSTM操作系統(tǒng))、開源操作系統(tǒng)或者適合于在移動、靜止和/或基于處理器的計算設備上運行的任何其它操作系統(tǒng)。
由計算設備實現(xiàn)的計算機程序可以包括一個或多個客戶端應用。示例性客戶端應用包括但不限于:web瀏覽應用、通信應用(例如,電話應用、電子郵件應用、文本消息應用、即時消息應用、網(wǎng)絡會議應用等等)、媒體應用(例如,視頻應用、電影服務應用、電視服務應用、音樂服務應用、電子書籍應用、照片應用等等)、日歷應用、文件共享應用、個人助理或者其它類型的對話應用、游戲應用、圖形應用、購物應用、付費應用、社交媒體應用、社交網(wǎng)絡應用、新聞應用、體育應用、天氣應用、地圖應用、導航應用、旅行應用、餐飲應用、娛樂應用、健康醫(yī)療應用、生活方式應用、參考引用、金融應用、商業(yè)應用、教育應用、生產(chǎn)力應用(例如,文字處理應用、電子表格應用、幻燈片顯示呈現(xiàn)應用、筆記記錄應用等等)、安全應用、工具應用、效用應用和/或任何其它類型的應用、應用程序、和/或適合于在移動、靜止和/或基于處理器的計算設備上運行的app。
由計算設備實現(xiàn)的計算機程序可以包括一個或多個服務器應用。示例性服務器應用包括但不限于:與上面所描述的各種類型的示例性客戶端應用中的任何一個客戶端應用相關聯(lián)的一個或多個服務器托管的應用、基于云的應用和/或在線應用;上面所描述的各種類型的示例性客戶端應用中的任何一個客戶端應用的一個或多個服務器托管的版本、基于云的版本和/或在線版本;被配置為提供web服務、web站點、web頁面、web內(nèi)容等等的一個或多個應用;被配置為提供和/或訪問信息源、數(shù)據(jù)存儲、數(shù)據(jù)庫、知識庫等等的一個或多個應用;和/或其它類型的應用、應用程序、和/或適合于在服務器計算機上運行的app。
計算機系統(tǒng)可以由諸如服務器計算機之類的計算設備來實現(xiàn),或者由被配置為實現(xiàn)其中一個或多個適當配置的計算設備可以執(zhí)行一個或多個處理步驟的服務的多個計算設備來實現(xiàn)。計算機系統(tǒng)可以被實現(xiàn)為分布式計算系統(tǒng),在該分布式計算系統(tǒng)中,組件位于通過網(wǎng)絡(例如,有線和/或無線網(wǎng)絡)和/或其它形式的直接和/或間接連接來彼此之間連接的不同計算設備上。計算機系統(tǒng)還可以經(jīng)由其中通過共享的數(shù)據(jù)中心來傳送服務的基于云的架構(gòu)(例如,公共、專用或者其組合)來實現(xiàn)。例如,計算機系統(tǒng)可以由數(shù)據(jù)中心的物理服務器來實現(xiàn),該共享的計算和存儲資源提供共享的計算和存儲資源,并且托管有虛擬機,這些虛擬機具有用于結(jié)合提供基于云的服務來執(zhí)行不同的任務的各種角色。示例性虛擬機角色可以包括但不限于:web服務器、前端服務器、應用服務器、數(shù)據(jù)庫服務器(例如,SQL服務器)、域控制器、域名服務器、目錄服務器和/或其它適當?shù)臋C器角色。計算機系統(tǒng)的一些組件可以置于云內(nèi),而其它組件置于云外。
圖7示出了操作環(huán)境700,其作為可以實現(xiàn)所描述的主題的方面的示例性操作環(huán)境的實施例。應當領會的是,在各個實施例中,操作環(huán)境700可以由客戶端-服務器模型和/或架構(gòu)以及由其它操作環(huán)境模型和/或架構(gòu)來實現(xiàn)。
操作環(huán)境700可以包括計算設備710,后者可以實現(xiàn)所描述的主題的方面。計算設備710可以包括處理器711和存儲器712。計算設備710還可以包括另外的硬件存儲單元713。應當理解的是,計算機可讀存儲介質(zhì)包括存儲器712和硬件存儲單元713。
計算設備710可以包括輸入設備714和輸出設備715。輸入設備714可以包括上面所描述的示例性輸入設備中的一個或多個輸入設備和/或其它類型的輸入機制和/或設備。輸出設備715可以包括上面所描述的示例性輸出設備中的一個或多個輸出設備和/或其它類型的輸出機制和/或設備。
計算設備710可以包含用于允許計算設備710與其它計算設備和/或計算機系統(tǒng)進行通信的一個或多個通信接口716。還可以在分布式計算機可執(zhí)行指令的上下文中使用通信接口716。
計算設備710可以包括和/或運行一個或多個計算機程序717,這些計算機程序717例如由計算設備710的軟件、固件、硬件、邏輯單元和/或電路來實現(xiàn)。計算機程序717可以包括操作系統(tǒng)718,該操作系統(tǒng)718例如由上面所描述的一個或多個示例性操作系統(tǒng)和/或適合于在計算設備710上運行的其它類型的操作系統(tǒng)來實現(xiàn)。計算機程序717可以包括一個或多個應用719,這些應用719例如由上面所描述的一個或多個示例性應用和/或適合于在計算設備710上運行的其它類型的應用來實現(xiàn)。
可以經(jīng)由一個或多個適當?shù)慕涌?例如,API或其它數(shù)據(jù)連接)將計算機程序717配置為與一個或多個資源進行通信和/或協(xié)作。資源的例子包括計算設備710的本地計算資源和/或遠程計算資源,所述遠程計算資源例如服務器托管的資源、基于云的資源、在線資源、遠程數(shù)據(jù)存儲、遠程數(shù)據(jù)庫、遠程知識庫、web服務、web站點、web頁面、web內(nèi)容、和/或其它類型的遠程資源。
計算機程序717可以實現(xiàn)被存儲在計算機可讀存儲介質(zhì)(例如,存儲器712或硬件存儲單元713)中的計算機可執(zhí)行指令。由計算機程序717實現(xiàn)的計算機可執(zhí)行指令可以被配置為與操作系統(tǒng)718和應用719中的一個或多個一起工作、對其進行支持和/或增強。由計算機程序717實現(xiàn)的計算機可執(zhí)行指令還可以被配置為提供一個或多個單獨的和/或獨立的服務。
計算設備710和/或計算機程序717可以實現(xiàn)和/或執(zhí)行所描述的主題的各個方面。如圖所示,計算設備710和/或計算機程序717可以包括輕解除管理代碼720。在各個實施例中,輕解除管理代碼720可以包括被存儲在計算機可讀存儲介質(zhì)上,并被配置為實現(xiàn)所描述的主題的一個或多個方面的計算機可執(zhí)行指令。通過舉例但非限制的方式,輕解除管理代碼720可以由計算設備710來實現(xiàn),計算設備710轉(zhuǎn)而可以表示客戶端設備101-106中的一個。通過進一步舉例但非限制的方式,輕解除管理代碼720可以實現(xiàn)輕解除管理模塊110和/或輕解除管理器200,確定阻擋面板302和/或阻擋面板304的形狀,控制用于應用用戶接口400和/或應用用戶接口500的輕解除行為,和/或執(zhí)行計算機實現(xiàn)的方法600的一個或多個方面。
操作環(huán)境700可以包括計算機系統(tǒng)730,后者可以實現(xiàn)所描述的主題的方面。計算機系統(tǒng)730可以由諸如一個或多個服務器計算機之類的一個或多個計算設備來實現(xiàn)。計算機系統(tǒng)730可以包括處理器731和存儲器732。計算機系統(tǒng)730還可以包括另外的硬件存儲單元733。應當理解的是,計算機可讀存儲介質(zhì)包括存儲器732和硬件存儲單元733。計算機系統(tǒng)730可以包括輸入設備734和輸出設備735。輸入設備734可以包括上面所描述的示例性輸入設備中的一個或多個輸入設備和/或其它類型的輸入機制和/或設備。輸出設備735可以包括上面所描述的示例性輸出設備中的一個或多個輸出設備和/或其它類型的輸出機制和/或設備。
計算機系統(tǒng)730可以包含用于允許計算機系統(tǒng)730與各種計算設備(例如,計算設備710)和/或其它計算機系統(tǒng)進行通信的一個或多個通信接口736。還可以在分布式計算機可執(zhí)行指令的上下文中使用通信接口736。
計算機系統(tǒng)730可以包括和/或運行一個或多個計算機程序737,這些計算機程序737例如由計算機系統(tǒng)730的軟件、固件、硬件、邏輯單元和/或電路來實現(xiàn)。計算機程序737可以包括操作系統(tǒng)738,該操作系統(tǒng)738例如由上面所描述的一個或多個示例性操作系統(tǒng)和/或適合于在計算機系統(tǒng)730上運行的其它類型的操作系統(tǒng)來實現(xiàn)。計算機程序737可以包括一個或多個應用739,這些應用739例如由上面所描述的一個或多個示例性應用和/或適合于在計算機系統(tǒng)730上運行的其它類型的應用來實現(xiàn)。
可以經(jīng)由一個或多個適當?shù)慕涌?例如,API或其它數(shù)據(jù)連接)將計算機程序737配置為與一個或多個資源進行通信和/或協(xié)作。資源的例子包括計算機系統(tǒng)730的本地計算資源和/或遠程計算資源,所述遠程計算資源例如服務器托管的資源、基于云的資源、在線資源、遠程數(shù)據(jù)存儲、遠程數(shù)據(jù)庫、遠程知識庫、web服務、web站點、web頁面、web內(nèi)容、和/或其它類型的遠程資源。
計算機程序737可以實現(xiàn)被存儲在計算機可讀存儲介質(zhì)(例如,存儲器732或硬件存儲單元733)中的計算機可執(zhí)行指令。由計算機程序737實現(xiàn)的計算機可執(zhí)行指令可以被配置為與操作系統(tǒng)738和應用739中的一個或多個一起工作、對其進行支持和/或增強。由計算機程序737實現(xiàn)的計算機可執(zhí)行指令還可以被配置為提供一個或多個單獨的和/或獨立的服務。
計算機系統(tǒng)730和/或計算機程序737可以實現(xiàn)和/或執(zhí)行所描述的主題的各個方面。如圖所示,計算機系統(tǒng)730和/或計算機程序737可以包括輕解除管理代碼740。在各個實施例中,輕解除管理代碼740可以包括被存儲在計算機可讀存儲介質(zhì)上,并被配置為實現(xiàn)所描述的主題的一個或多個方面的計算機可執(zhí)行指令。通過舉例但非限制的方式,輕解除管理代碼740可以由計算機系統(tǒng)730來實現(xiàn),計算機系統(tǒng)730轉(zhuǎn)而可以實現(xiàn)輕解除管理模塊110和/或輕解除管理器200,確定阻擋面板302和/或阻擋面板304的形狀,控制用于應用用戶接口400和/或應用用戶接口500的輕解除行為,和/或執(zhí)行計算機實現(xiàn)的方法600的一個或多個方面。
計算設備710和計算機系統(tǒng)730可以通過網(wǎng)絡750進行通信,網(wǎng)絡750可以由任何類型的網(wǎng)絡或者適合于在計算設備710和計算機系統(tǒng)730之間提供通信的網(wǎng)絡的組合來實現(xiàn)。例如,網(wǎng)絡750可以包括但不限于:諸如互聯(lián)網(wǎng)之類的WAN、LAN、電話網(wǎng)絡、專用網(wǎng)絡、公共網(wǎng)絡、分組網(wǎng)絡、電路交換網(wǎng)絡、有線網(wǎng)絡和/或無線網(wǎng)絡。計算設備710和計算機系統(tǒng)730可以使用各種通信協(xié)議和/或數(shù)據(jù)類型,通過網(wǎng)絡750進行通信。計算設備710的一個或多個通信接口716和計算機系統(tǒng)730的一個或多個通信接口736可以在通過網(wǎng)絡750進行通信的上下文中采用。
計算設備710和/或計算機系統(tǒng)730可以通過網(wǎng)絡750,與存儲系統(tǒng)760進行通信。替代地或另外地,存儲系統(tǒng)760可以與計算設備710和/或計算機系統(tǒng)730集成在一起。存儲系統(tǒng)760可以表示根據(jù)所描述的主題的各種類型的存儲單元。存儲系統(tǒng)760可以使用數(shù)據(jù)庫存儲、云存儲、表存儲、blob存儲、文件存儲、隊列存儲和/或其它適當類型的存儲機制,為關系型(例如,SQL)和/或非關系型(例如,NO-SQL)數(shù)據(jù)提供任何適當類型的數(shù)據(jù)存儲。存儲系統(tǒng)760可以由一個或多個計算設備(例如,數(shù)據(jù)中心中的計算機集群)來實現(xiàn),由虛擬機來實現(xiàn)和/或被提供為基于云的存儲設備。
圖8示出了移動計算設備800,其作為可以實現(xiàn)所描述的主題的方面的示例性移動計算設備的實施例。在各種實施方式中,移動計算設備800可以是以下各項中的一個或多個的例子:客戶端設備102-104和/或計算設備710。
如圖所示,移動計算設備800包括能夠彼此之間進行通信的各種各樣的硬件和軟件組件。移動計算設備800可以表示本文所描述的各種類型的移動計算設備中的任何一種,并且可以允許通過諸如一個或多個移動通信網(wǎng)絡(例如,蜂窩網(wǎng)絡和/或衛(wèi)星網(wǎng)絡)、LAN和/或WAN之類的網(wǎng)絡進行無線雙向通信。
移動計算設備800可以包括操作系統(tǒng)802和各種類型的移動應用804。在一些實施方式中,移動應用804可以包括一個或多個客戶端應用、和/或輕解除管理代碼720(例如,輕解除管理模塊110)的組件。
移動計算設備800可以包括用于執(zhí)行諸如以下各項之類的任務的處理器806(例如,信號處理器、微處理器、ASIC或者其它控制和處理邏輯電路):信號編碼、數(shù)據(jù)處理、輸入/輸出處理、功率控制和/或其它功能。
移動計算設備800可以包括被實現(xiàn)為不可移動存儲器810和/或可移動存儲器812的存儲器808。不可移動存儲器810可以包括RAM、ROM、閃存、硬盤或者其它存儲器設備。可移動存儲器812可以包括閃存、用戶識別模塊(SIM)卡、“智能卡”和/或其它存儲器設備。
存儲器808可以用于存儲用于運行操作系統(tǒng)802和/或移動應用804的數(shù)據(jù)和/或代碼。示例性數(shù)據(jù)可以包括web頁面、文本、圖像、聲音文件、視頻數(shù)據(jù)、或者經(jīng)由一個或多個有線和/或無線網(wǎng)絡將被發(fā)送給一個或多個網(wǎng)絡服務器或其它設備和/或從一個或多個網(wǎng)絡服務器或其它設備接收的其它數(shù)據(jù)。存儲器808可以用于存儲用戶標識符(例如,國際移動用戶標識(IMSI))和設備標識符(例如,國際移動設備標識符(IMEI))??梢詫⑦@樣的標識符發(fā)送給網(wǎng)絡服務器,以便識別用戶和設備。
移動計算設備800可以包括和/或支持一個或多個輸入設備814,例如,觸摸屏815、麥克風816、照相機817、鍵盤818、跟蹤球819和其它類型的輸入設備(例如,NUI設備等等)。例如,可以使用電容式觸摸屏和/或光傳感器來實現(xiàn)觸摸屏815以檢測觸摸輸入。移動計算設備800可以包括和/或支持一個或多個輸出設備820,例如,揚聲器821、顯示器822和/或其它類型的輸出設備(例如,壓電或者其它觸覺輸出設備)。在一些實施方式中,可以將觸摸屏815和顯示器822組合在單個輸入/輸出設備中。
移動計算設備800可以包括無線調(diào)制解調(diào)器824,后者可以耦合到天線(沒有示出),并且可以支持處理器806與外部設備之間的雙向通信。無線調(diào)制解調(diào)器824可以包括蜂窩調(diào)制解調(diào)器825,其用于與移動通信網(wǎng)絡和/或諸如Wi-Fi調(diào)制解調(diào)器826和/或藍牙調(diào)制解調(diào)器827之類的其它基于無線電的調(diào)制解調(diào)器進行通信。通常,無線調(diào)制解調(diào)器824中的至少一個被配置用于:與諸如GSM網(wǎng)絡的一個或多個蜂窩網(wǎng)絡進行通信,以在單個蜂窩網(wǎng)絡中進行數(shù)據(jù)和語音通信;蜂窩網(wǎng)絡之間的通信;或者移動計算設備800和公共交換電話網(wǎng)(PSTN)之間的通信。
移動計算設備800還可以包括至少一個輸入/輸出端口828、電源830、加速計832、物理連接器834(例如,USB端口、IEEE 1394(火線)端口、RS-232端口等等)和/或全球定位系統(tǒng)(GPS)接收機836或者其它類型的衛(wèi)星導航系統(tǒng)接收機。應當領會的是,所示出的移動計算設備800的組件并不都是需要的或者全包含的,這是由于在各種實施例中,可以忽略各種組件,并包括其它組件。
在各種實施方式中,移動計算設備800的組件可以被配置為結(jié)合所描述的主題的方面來執(zhí)行各種操作。通過舉例但非限制的方式,移動計算設備800可以實現(xiàn)輕解除管理模塊110和/或輕解除管理器200,確定阻擋面板302和/或阻擋面板304的形狀,控制用于應用用戶接口400和/或應用用戶接口500的輕解除行為,和/或執(zhí)行計算機實現(xiàn)的方法600的一個或多個方面。用于執(zhí)行這樣的操作的計算機可執(zhí)行指令可以被存儲在計算機可讀存儲介質(zhì)(例如,存儲器808)中,并可以由處理器806來執(zhí)行。
支持的方面
上面結(jié)合附圖所提供的詳細描述顯式地描述和支持根據(jù)所描述的主題的各個方面。通過舉例但非限制的方式,支持的方面包括被配置為對應用用戶接口中的輕解除行為進行管理的計算設備,該計算機系統(tǒng)包括:被配置為執(zhí)行計算機可執(zhí)行指令的處理器;存儲計算機可執(zhí)行指令的存儲器,所述計算機可執(zhí)行指令被配置為:對用于該應用用戶接口的輕解除管理器進行實例化;由該輕解除管理器從應用用戶接口的渲染的用戶接口表面接收用于注冊事件傳遞區(qū)域的請求;由輕解除管理器接收將在該應用用戶接口中打開新的輕解除用戶接口表面的通知;由輕解除管理器確定排除所述事件傳遞區(qū)域的透明阻擋面板的形狀;當在該應用用戶接口中打開新的輕解除用戶接口表面時,在該新的輕解除用戶接口表面之下渲染所述透明阻擋面板;由輕解除管理器檢測針對所渲染的用戶接口表面的可見部分的輸入事件;以及響應于該輸入事件,關閉所述新的輕解除用戶接口表面,并且執(zhí)行與所述渲染的用戶接口表面的可見部分相關聯(lián)的命令。
支持的方面包括前述的計算設備,其中,所述存儲器還存儲有被配置為執(zhí)行以下操作的計算機可執(zhí)行指令:確定所述新的輕解除用戶接口表面是正從活動的輕解除用戶接口表面調(diào)用的;當該新的輕解除用戶接口表面被打開時,保持該活動的輕解除用戶接口表面打開;以及響應于所述輸入事件,將該活動的輕解除用戶接口表面與所述新的輕解除用戶接口表面一起關閉。
支持的方面包括前述的計算設備中的任何一個,其中,所述存儲器還存儲有被配置為執(zhí)行以下操作的計算機可執(zhí)行指令:確定所述新的輕解除用戶接口表面不是正從活動的輕解除用戶接口表面調(diào)用的;以及當所述新的輕解除用戶接口表面被打開時,關閉所述活動的輕解除用戶接口表面。
支持的方面包括前述的計算設備中的任何一個,其中,所述輸入事件是來自用戶的觸摸輸入。
支持的方面包括前述的計算設備中的任何一個,其中,所述存儲器還存儲有被配置為執(zhí)行以下操作的計算機可執(zhí)行指令:當所述新的輕解除用戶接口表面在所述應用用戶接口中打開時,針對解除事件,對所述應用用戶接口進行監(jiān)測。支持的方面還包括:所述解除事件包括:針對新的輕解除用戶接口表面的邊界之外的輸入事件,打開不是從所述新的輕解除用戶接口表面調(diào)用的另一個輕解除用戶接口表面,按下某些鍵,以及丟失所述應用用戶接口的焦點。
支持的方面包括前述的計算設備中的任何一個,其中,在所述新的輕解除用戶接口表面被打開之前,所述輕解除管理器露出應用編程接口,該應用編程接口包括由所述新的輕解除用戶接口表面調(diào)用的方法。支持的方面還包括:所述應用編程接口包括:當檢測到所述輸入事件時,被調(diào)用以向所述新的輕解除用戶接口表面發(fā)送解除通知的回調(diào)方法。支持的方面還包括:所述應用編程接口包括:由所述渲染的用戶接口表面調(diào)用以注冊所述事件傳遞區(qū)域的方法。
支持的方面還包括用于實現(xiàn)前述的計算設備或者其一部分的裝置、系統(tǒng)、計算機可讀存儲介質(zhì)、計算機實現(xiàn)的方法和/或單元。
支持的方面包括用于對應用用戶接口中的輕解除行為進行管理的計算機實現(xiàn)的方法,該計算機實現(xiàn)的方法包括:由計算設備對用于該應用用戶接口的輕解除管理器進行實例化;由輕解除管理器從該應用用戶接口的渲染的用戶接口表面接收用于注冊事件傳遞區(qū)域的請求;由輕解除管理器接收將在該應用用戶接口中打開新的輕解除用戶接口表面的通知;由輕解除管理器確定排除所述事件傳遞區(qū)域的透明阻擋面板的形狀;以及當在所述應用用戶接口中打開所述新的輕解除用戶接口表面時,在所述新的輕解除用戶接口表面之下渲染所述透明阻擋面板,其中,所述透明阻擋面板被配置為:防止執(zhí)行與所述應用用戶接口中的位于所述新的輕解除用戶接口表面和所述事件傳遞區(qū)域二者之外的可見部分相關聯(lián)的命令。
支持的方面包括前述的計算機實現(xiàn)的方法,其還包括:針對包括以下各項的解除事件,對所述應用用戶接口進行監(jiān)測:針對所述新的輕解除用戶接口表面之外的輸入事件,以及調(diào)用沒有被錨定到所述新的輕解除用戶接口表面的另一個輕解除用戶接口表面。
支持的方面包括前述的計算機實現(xiàn)的方法中的任何一個,其還包括:響應于檢測到針對所述事件傳遞區(qū)域的輸入事件,關閉所述新的輕解除用戶接口表面,并且執(zhí)行與所述渲染的用戶接口表面的可見部分相關聯(lián)的命令。支持的方面還包括:執(zhí)行包括選擇文檔中的詞語的命令。支持的方面還包括:確定所述新的輕解除用戶接口表面是正從活動的輕解除用戶接口表面調(diào)用的;當所述新的輕解除用戶接口表面被打開時,保持所述活動的輕解除用戶接口表面打開;以及響應于所述輸入事件,將所述活動的輕解除用戶接口表面與所述新的輕解除用戶接口表面一起關閉。
支持的方面包括前述的計算機實現(xiàn)的方法中的任何一個,其中,所述渲染的用戶接口表面是包括工具欄的標簽式集合的條帶。
支持的方面包括前述的計算機實現(xiàn)的方法中的任何一個,其中,所述事件傳遞區(qū)域是位于所述透明阻擋面板之內(nèi)的定制排除區(qū)域。
支持的方面包括前述的計算機實現(xiàn)的方法中的任何一個,其中,所述透明阻擋面板排除由多個渲染的用戶接口表面注冊的多個事件傳遞區(qū)域。
支持的方面還包括用于實現(xiàn)和/或執(zhí)行前述的計算機實現(xiàn)的方法或者其一部分的裝置、系統(tǒng)、計算機可讀存儲介質(zhì)和/或單元。
支持的方面包括存儲有計算機可執(zhí)行指令的計算機可讀存儲介質(zhì),當所述計算機可執(zhí)行指令被計算設備執(zhí)行時,使得該計算設備實現(xiàn)輕解除管理器,該輕解除管理器被配置為:從應用用戶接口的渲染的用戶接口表面接收用于注冊事件傳遞區(qū)域的請求;接收將在該應用用戶接口中打開新的輕解除用戶接口表面的通知;從透明阻擋面板中排除所述事件傳遞區(qū)域,當在該應用用戶接口中打開新的輕解除用戶接口表面時,在該新的輕解除用戶接口表面之下渲染該透明阻擋面板;當新的輕解除用戶接口表面在該應用用戶接口中打開時,針對解除事件對該應用用戶接口進行監(jiān)測;以及響應于檢測到針對所述事件傳遞區(qū)域的輸入事件,向所述新的輕解除用戶接口發(fā)送解除通知,其中,所述輸入事件傳遞到所述透明阻擋面板,并且執(zhí)行與所述渲染的用戶接口表面的可見部分相關聯(lián)的命令。
支持的方面包括前述的計算機可讀存儲介質(zhì),其中,所述輕解除管理器還被配置為:確定所述新的輕解除用戶接口表面是正從活動的輕解除用戶接口表面調(diào)用的,其中,當該新的輕解除用戶接口表面被打開時,該活動的輕解除用戶接口表面被保持打開;以及響應于所述輸入事件,向該活動的輕解除用戶接口表面發(fā)送解除通知。
支持的方面包括前述的計算機可讀存儲介質(zhì),其中,所述輕解除管理器還被配置為:確定所述新的輕解除用戶接口表面不是正從活動的輕解除用戶接口表面調(diào)用的;以及響應于所述新的輕解除用戶接口表面將在所述應用用戶接口中被打開的通知,向所述活動的輕解除用戶接口表面發(fā)送解除通知。
支持的方面還包括用于實現(xiàn)前述的計算機可讀存儲介質(zhì)中的任何一個或者執(zhí)行其功能的裝置、系統(tǒng)、計算機實現(xiàn)的方法和/或單元。
支持的方面可以圍繞關于功耗、存儲器、處理器循環(huán)和/或其它計算密集性資源的改進的效率和/或節(jié)約,來提供各種附帶優(yōu)點和/或技術優(yōu)點。
上面結(jié)合附圖提供的詳細描述僅僅只是對一些例子進行描述,而不是旨在表示其中可以構(gòu)造或者使用本文所給出的例子的僅有形式。
應當理解的是,本文所描述的配置和/或方法在本質(zhì)上只是示例性的,并且由于眾多的變化是可能的,因此所描述的實施例、實施方式和/或例子不應被認作為具有限制性意義。本文所描述的具體過程或方法可以表示任意數(shù)量的處理策略中的一個或多個處理策略。因此,可以按照所示出和/或描述的順序、按照其它順序、并行地來執(zhí)行本文所示出和/或描述的各種操作,或者進行一些省略。同樣,可以改變上面所描述過程的順序。
雖然利用特定于結(jié)構(gòu)特征和/或方法動作的語言來描述主題,但應當理解的是,所附的權(quán)利要求書中規(guī)定的主題并不必需限于上面所描述的具體特征或者動作。相反,上面所描述的具體特征和動作被呈現(xiàn)為實現(xiàn)權(quán)利要求的示例性形式。