動(dòng)態(tài)用戶界面布局算法
【技術(shù)領(lǐng)域】
[0001] 本公開設(shè)及動(dòng)態(tài)用戶界面布局。
【背景技術(shù)】
[0002] 現(xiàn)代計(jì)算設(shè)備,例如膝上型計(jì)算機(jī)、智能電話和平板計(jì)算機(jī),有能力向應(yīng)用用戶提 供豐富多樣的數(shù)據(jù)的集合。然而,該些計(jì)算設(shè)備的可視顯示器的大小不同,一些計(jì)算設(shè)備的 顯示信息的顯示空間是有限的??稍诙鄠€(gè)該樣的計(jì)算設(shè)備上運(yùn)行的應(yīng)用必須生成適合不同 的可視顯示器的用戶界面扣I),w便向應(yīng)用用戶顯示信息。在面對(duì)有限的顯示空間時(shí),應(yīng)用 必須考慮的一些因素是布局的考慮、要顯示的信息的重要性、W及有效地顯示信息從而不 浪費(fèi)可視顯示空間。應(yīng)用缺乏使用不同的顯示器大小有效地顯示信息的能力可能導(dǎo)致用戶 的不滿、收入損失、較差的用戶體驗(yàn)、和/或拒絕該應(yīng)用并使用競(jìng)爭(zhēng)性產(chǎn)品。
【發(fā)明內(nèi)容】
[0003] 本公開設(shè)及用于生成用戶界面布局的計(jì)算機(jī)實(shí)現(xiàn)的方法、計(jì)算機(jī)可讀介質(zhì)和計(jì)算 機(jī)系統(tǒng)。一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括:基于多個(gè)數(shù)據(jù)顯示字段(field)的優(yōu)先級(jí),將與圖形 用戶界面(GUI)相關(guān)聯(lián)的可用垂直空間劃分為多個(gè)允許的垂直空間分配;在每個(gè)數(shù)據(jù)顯示 字段擴(kuò)展到充滿與該數(shù)據(jù)顯示字段相關(guān)聯(lián)的允許的垂直空間分配之后,由計(jì)算機(jī)計(jì)算空隙 (slack);在所述多個(gè)數(shù)據(jù)顯示字段當(dāng)中分配空隙;在所述多個(gè)數(shù)據(jù)顯示字段當(dāng)中分配空 隙之后,由計(jì)算機(jī)重新計(jì)算空隙;化及在該GUI中最終確定所述多個(gè)數(shù)據(jù)顯示字段的顯示。
[0004] 該個(gè)方面的其他實(shí)現(xiàn)方式包括相應(yīng)計(jì)算機(jī)系統(tǒng)、裝置、和記錄在一種或多種計(jì)算 機(jī)存儲(chǔ)設(shè)備上的計(jì)算機(jī)程序,每一個(gè)都配置成執(zhí)行所述方法的動(dòng)作。一個(gè)或多個(gè)計(jì)算機(jī)的 系統(tǒng)可W配置成通過擁有安裝在系統(tǒng)上、在操作時(shí)使系統(tǒng)執(zhí)行動(dòng)作的軟件、固件、硬件或軟 件、固件、硬件的組合來(lái)執(zhí)行特定操作或動(dòng)作。一個(gè)或多個(gè)計(jì)算機(jī)程序可W配置成通過包括 指令來(lái)執(zhí)行特定操作或動(dòng)作,其中當(dāng)所述指令被數(shù)據(jù)處理設(shè)備執(zhí)行時(shí)使該數(shù)據(jù)處理設(shè)備執(zhí) 行動(dòng)作。
[0005] 上述和其他實(shí)現(xiàn)方式中的每一個(gè)可選地可W單獨(dú)或組合地包括如下特征中的一 個(gè)或多個(gè):
[0006] 在可與一般實(shí)現(xiàn)方式結(jié)合的第一方面中,所計(jì)算的空隙或是正,或是負(fù)。
[0007] 可與任何一個(gè)前述方面結(jié)合的第二方面還包括;對(duì)于所計(jì)算的正空隙,請(qǐng)求每個(gè) 數(shù)據(jù)顯示字段從最高優(yōu)先級(jí)到最低優(yōu)先級(jí)重新調(diào)整大小,W擴(kuò)展到包括它的當(dāng)前大小、剩 余的允許的垂直空間分配W及所確定的空隙的垂直空間。
[000引可與任何一個(gè)前述方面結(jié)合的第=方面還包括;對(duì)于所計(jì)算的負(fù)空隙,請(qǐng)求每個(gè) 數(shù)據(jù)顯示字段從最低優(yōu)先級(jí)到最高優(yōu)先級(jí)重新調(diào)整大小,W收縮到包括它的當(dāng)前大小減去 所確定的空隙的垂直空間。
[0009] 可與任何一個(gè)前述方面結(jié)合的第四方面還包括;基于重新計(jì)算的空隙,確定所述 多個(gè)數(shù)據(jù)顯示字段是否需要被重新調(diào)整大小。
[0010] 可與任何一個(gè)前述方面結(jié)合的第五方面還包括;設(shè)置水平或垂直制表符(t油) 值,W便在GUI上對(duì)齊數(shù)據(jù)顯示字段。
[0011] 可與任何一個(gè)前述方面結(jié)合的第六方面還包括;如果在重新計(jì)算空隙之后負(fù)空隙 仍然存在,則隱藏?cái)?shù)據(jù)顯示字段。
[0012] 在本說明書中描述的主題可W在特定實(shí)現(xiàn)方式中實(shí)現(xiàn),W便具有如下優(yōu)點(diǎn)中的一 個(gè)或多個(gè)。首先,應(yīng)用的有用性通過能夠?qū)τ诓煌挠?jì)算設(shè)備顯示器大小來(lái)生成視覺上有 吸引力/有用的應(yīng)用而得W增強(qiáng)。其次,考慮顯示空間,保證重要信息的優(yōu)先級(jí)。第S,顯 示字段被計(jì)算為足夠大從而顯示所有必要的信息,但是不會(huì)過大從而浪費(fèi)顯示空間。第四, 信息被確定為相對(duì)于其他信息越重要,則該信息被給予越長(zhǎng)的顯示時(shí)間。第五,在一些實(shí) 現(xiàn)方式中,GUI字段長(zhǎng)度在數(shù)據(jù)可用之前被計(jì)算,它與僅當(dāng)數(shù)據(jù)在前端UI可用時(shí)才擅染動(dòng) 態(tài)GUI相比,給出了直接響應(yīng)的印象。第六,GUI可W適應(yīng)用戶的上下文(例如,主要錄入 美國(guó)郵政編碼的用戶與主要錄入荷蘭郵政編碼的用戶相比,將具有不同長(zhǎng)度的郵政編碼UI 字段)。其他優(yōu)點(diǎn)對(duì)本領(lǐng)域的普通技術(shù)人員來(lái)說是顯而易見的。
[0013] 本說明書的主題的一種或多種實(shí)現(xiàn)方式的細(xì)節(jié)展示在附圖和下面的描述中。該主 題的其他特征、方面和優(yōu)點(diǎn)將從該描述、附圖和權(quán)利要求書中明顯看出。
【附圖說明】
[0014] 圖1是示出根據(jù)一個(gè)實(shí)現(xiàn)方式的、用于生成用戶界面布局的示例性分布式計(jì)算系 統(tǒng)的框圖。
[0015] 圖2A是根據(jù)一個(gè)實(shí)現(xiàn)方式的、在基于元數(shù)據(jù)的內(nèi)容長(zhǎng)度計(jì)算之后擅染的圖形用 戶界面(GUI)的示例性屏幕截圖。
[0016] 圖2B是根據(jù)一個(gè)實(shí)現(xiàn)方式的、被擅染的具有被顯示的數(shù)據(jù)的圖2A的GUI的示例 性屏幕截圖。
[0017] 圖3是示出了根據(jù)一個(gè)實(shí)現(xiàn)方式的、生成用戶界面布局的方法的流程圖。
[0018] 圖4A是示出了根據(jù)一個(gè)實(shí)現(xiàn)方式的正空隙的框圖。
[0019] 圖4B是示出了根據(jù)一個(gè)實(shí)現(xiàn)方式的負(fù)空隙的框圖。
[0020] 圖5是示出根據(jù)一個(gè)實(shí)現(xiàn)方式的劃分?jǐn)?shù)據(jù)顯示字段之間的正空隙的框圖。
[0021] 圖6是示出根據(jù)一個(gè)實(shí)現(xiàn)方式的劃分?jǐn)?shù)據(jù)顯示字段之間的要被吸收(油sorb)的 負(fù)空隙的框圖。
[0022] 圖7A示出了根據(jù)一個(gè)實(shí)現(xiàn)方式的、在相對(duì)于圖5的示例性正空隙劃分之后的數(shù)據(jù) 顯示字段的垂直空間分配。
[0023] 圖7B示出了根據(jù)一個(gè)實(shí)現(xiàn)方式的、在相對(duì)于圖6的示例性負(fù)空隙吸收之后的數(shù)據(jù) 顯示字段的垂直空間分配。
[0024] 圖7C示出了根據(jù)一個(gè)實(shí)現(xiàn)方式的由于數(shù)據(jù)顯示字段被隱藏,負(fù)空隙被轉(zhuǎn)換成正 空隙。
[0025] 圖8是根據(jù)一個(gè)實(shí)現(xiàn)方式的在執(zhí)行動(dòng)態(tài)垂直布局計(jì)算之后,圖2B的GUI的示例性 屏幕截圖。
[0026] 在各圖中,相同的參考標(biāo)記和標(biāo)號(hào)指示相同元件。
【具體實(shí)施方式】
[0027] 本公開一般性地描述了用于生成用戶界面布局的計(jì)算機(jī)實(shí)現(xiàn)方法、計(jì)算機(jī)程序產(chǎn) 品和系統(tǒng)。給出如下描述使本領(lǐng)域的普通技術(shù)人員能夠做出、使用和/或?qū)嵺`所公開的主 題,而且如下描述是在一個(gè)或多個(gè)特定實(shí)現(xiàn)的背景下提供的。對(duì)本領(lǐng)域技術(shù)人員來(lái)說,對(duì)公 開的實(shí)現(xiàn)的各種修改將是非常明顯的,并且本文定義的一般原理可W應(yīng)用于其他實(shí)現(xiàn)和應(yīng) 用而不脫離本公開的范圍。因此,本公開不打算限制所描述和/或示出的實(shí)施例,而是符合 與本文公開的原理和特征一致的最寬的范圍。
[002引現(xiàn)代計(jì)算設(shè)備,例如膝上型計(jì)算機(jī)、智能電話和平板計(jì)算機(jī),有能力向應(yīng)用用戶提 供豐富多樣的數(shù)據(jù)的集合。然而,該些計(jì)算設(shè)備的可視顯示器的大小不同,一些計(jì)算設(shè)備的 顯示信息的顯示空間是有限的??稍诙鄠€(gè)該樣的計(jì)算設(shè)備上運(yùn)行的應(yīng)用必須生成適合不同 的可視顯示器的圖形用戶界面(GUI)W便向應(yīng)用用戶顯示信息。在面對(duì)有限的顯示空間 時(shí),應(yīng)用必須考慮的一些因素是布局的考慮、要顯示的信息的重要性、W及有效地顯示信息 從而不浪費(fèi)可視顯示空間。應(yīng)用缺乏使用不同的顯示器大小有效地顯示信息的能力可能導(dǎo) 致用戶的不滿、收入損失、較差的用戶體驗(yàn)、和/或拒絕該應(yīng)用而使用競(jìng)爭(zhēng)性產(chǎn)品。
[0029] 圖1是示出根據(jù)一個(gè)實(shí)現(xiàn)方式的、用于生成用戶界面布局的示例性分布式計(jì)算系 統(tǒng)巧DC巧100的框圖。圖示的邸CS100包括或可通信地禪接到通過網(wǎng)絡(luò)130通信的服務(wù) 器102和客戶端140 (上述計(jì)算設(shè)備的例子)。在一些實(shí)現(xiàn)方式中,EDCS100的一個(gè)或多個(gè) 組件可W被配置為在基于云計(jì)算的環(huán)境中操作。
[0030] 在高級(jí)別上,服務(wù)器102是可操作W接收、發(fā)送、處理、存儲(chǔ)、或管理與邸CS100 相關(guān)聯(lián)的數(shù)據(jù)和信息的電子計(jì)算設(shè)備。按照一些實(shí)現(xiàn)方式,服務(wù)器102還可W包括或可通 信地禪合到電子郵件服務(wù)器、萬(wàn)維網(wǎng)服務(wù)器、高速緩存服務(wù)器、流化數(shù)據(jù)服務(wù)器、商業(yè)智能 炬I)服務(wù)器和/或其他服務(wù)器。
[003U -般地,服務(wù)器102是提供用于生成GUI的功能的服務(wù)器。盡管下面的描述一般 地從服務(wù)器102的角度說明了動(dòng)態(tài)地生成用戶界面布局的功能,但是在一些實(shí)現(xiàn)方式中, 用于生成用戶界面布局的一些或全部功能可W由邸CS100的客戶端140和/或其他組件來(lái) 部分地或全部地處理。
[003引尤其,服務(wù)器102從與邸CS100的客戶端140相關(guān)聯(lián)的一個(gè)或多個(gè)客戶端應(yīng)用 146接收請(qǐng)求和內(nèi)容,并對(duì)接收到的請(qǐng)求進(jìn)行響應(yīng)。在一些實(shí)現(xiàn)方式中,服務(wù)器102至少在 動(dòng)態(tài)計(jì)算引擎值CE) 107中處理請(qǐng)求。除了從客戶端140接收到的請(qǐng)求,請(qǐng)求還可W從內(nèi)部 用戶、外部或第S方、其它自動(dòng)化應(yīng)用、W及任何其它適當(dāng)?shù)膶?shí)體、個(gè)人、系統(tǒng)、或計(jì)算機(jī)發(fā) 送到服務(wù)器102。在一些實(shí)現(xiàn)方式中,各個(gè)請(qǐng)求可W從直接訪問服務(wù)器102的用戶直接發(fā)送 到服務(wù)器102(例如,從服務(wù)器命令控制臺(tái)或通過其他任何適當(dāng)?shù)脑L問方法)。
[0033] 服務(wù)器102的每個(gè)組件可W使用系統(tǒng)總線103進(jìn)行通信。在一些實(shí)現(xiàn)方式中,服務(wù) 器102的任何和/或所有組件,無(wú)論硬件和/或軟件,可W使用應(yīng)用程序編程接口(API) 112 和/或服務(wù)層113通過系統(tǒng)總線103彼此連接和/或與接口 104連接。API112可W包括例 程、數(shù)據(jù)結(jié)構(gòu)和對(duì)象類的規(guī)范。API112可W與計(jì)算機(jī)語(yǔ)言無(wú)關(guān)或有關(guān),并且引用完整的接 口、單一的函數(shù)、或甚至一組API。服務(wù)層113為邸CS100提供軟件服務(wù)。使用此服務(wù)層, 服務(wù)器102的功能可W被所有服務(wù)消費(fèi)者訪問。軟件服務(wù),諸如由服務(wù)層113提供的軟件 服務(wù),通過定義的接口提供可重用的、已定義的業(yè)務(wù)功能。例如,接口可W是WJAVAX++或 其他合適的語(yǔ)言編寫的軟件,其提供可擴(kuò)展標(biāo)記語(yǔ)言狂ML)格式或其他適合格式的數(shù)據(jù)。
[0034] 雖然API112和/或服務(wù)層113被示為邸CS100中的服務(wù)器102的集成組件,但 是可替換的實(shí)現(xiàn)方式可W將API112和/或服務(wù)層113示出為相對(duì)于邸CS100的其他組 件獨(dú)立的組件。此外,API112和/或服務(wù)層113的任何或所有部分可W被實(shí)現(xiàn)為其他軟件 模塊、企業(yè)應(yīng)用或硬件模塊的子模塊或次模塊,而不脫離本公開的范圍。例如,API112可 W被集成到DCE10