本發明涉及焦點移動技術領域,特別涉及一種圖形用戶界面中焦點次序的配置方法及裝置。
背景技術:
隨著電子技術以及互聯網技術的不斷發展,電子設備的智能化也不斷推進,傳統電視只能收看電視節目,但目前數字電視或者智能電視除了收看電視節目之外,還增加了很多額外功能,比如電視商店(TVStore),在電視商店中會顯示很多傳統電視上沒有的一些內容,比如商品的介紹,如圖1所示,顯示商品的簡要介紹,在第一區可以顯示商品的封面,通過點擊“詳情”,可以了解商品的詳細介紹,如圖2所示。圖2中出現的“第三區”就是通過點擊圖1中的“詳情”而出現的顯示內容。
由于目前大多數電視還僅通過遙控器進行控制,具體地說,要從電視上某個區域過度到其他區域,主要通過遙控器的上下左右鍵來進行選擇,所以要規定與每一塊區域相鄰的上下左右區域分別是哪一塊區域,并且要仔細規劃每個區域的上下左右區域,以使得每個區域都能被遍歷到,不能使某一界面上某個區域怎么切換也選擇不到。比如,在圖1中,規定“詳情”的下方為“第二區”中的某一塊,到了圖2中,如果還沿用圖1中的關系,則“第三區”怎么也選擇不到了。目前,主要依靠程序員來規定每個界面的上下左右關系,如果顯示界面較少,這個工作很容易完成,但一旦顯示界面到達一定的數量級,這一工作將會變得非常繁瑣而耗時,而且容易出錯。
技術實現要素:
本發明的目的在于提供一種圖形用戶界面中焦點次序的配置方法及裝置,使得焦點移動配置的自動化實現,保證焦點配置的正確性,并且節省了人力。
為解決上述技術問題,本發明提供了一種圖形用戶界面中焦點次序的配置方法,包括:
獲取當前圖形用戶界面中所有控件的坐標;
根據所有控件的坐標計算控件之間的距離,選取距離最近的控件作為焦點移動的目標控件。
本發明還提供了一種圖形用戶界面中焦點次序的配置裝置,包括:坐標獲取模塊、距離計算模塊和次序確定模塊;
坐標獲取模塊,用于獲取當前圖形用戶界面中所有控件的坐標;
距離計算模塊,用于根據所有控件的坐標,計算控件之間的距離;
次序確定模塊,用于根據距離計算模塊計算得到的距離,選取距離最近的控件作為焦點移動的目標控件。
本發明相對于現有技術而言,獲取當前圖形用戶界面中所有空間的坐標,根據獲取到的控件坐標,計算出控件之間的距離,且將計算出的與待配置的控件距離最小的控件作為移動的目標控件,控件坐標的獲取、控件間距離的計算等操作,都無需人工加以干預,實現焦點移動的自動化配置,從而保證了結果的正確性,并且節省了人力。
另外,控件之間的距離的計算方法包括:從未配置焦點次序的控件中選取一個作為待配置控件;計算所有控件中其他控件與所述待配置控件之間的距離。具體限定了控件之間距離的計算方法,保證控件之間距離計算的準確性。
另外,在計算所有控件中其他控件與待配置控件之間的距離時,按照上下左右的方向分別進行計算;在選取距離最近的控件作為焦點移動的目標控件時,依據方向進行選擇。按照方向計算控件之間的距離,按上下左右分別計算,并且在選取焦點移動的目標控件時,同樣依照上下左右的方向進行選擇。
另外,在獲取當前圖形用戶界面中所有控件的坐標時,獲取所有控件的中心點坐標;在計算所有控件中其他控件與待配置控件之間的距離時,計算控件中心點之間的距離。根據中心點的坐標計算控件之間的距離。
另外,在獲取當前圖形用戶界面中所有控件的坐標時,獲取所有控件的左上角坐標和右下角坐標;在計算所有控件中其他控件與待配置控件之間的距離時,計算其他控件與待配置控件的邊緣之間的距離。根據控件的左上角與右下角坐標,獲取控件邊緣之間的距離,從而獲取控件之間的距離。
另外,在設計圖形用戶界面時,獲取當前圖形用戶界面中所有控件的坐標,并為每一個控件配置焦點移動的目標控件。在設計圖形用戶界面時,進行焦點移動次序的配置。
另外,在顯示圖形用戶界面時,獲取當前圖形用戶界面中所有控件的坐標,并動態為每一個控件配置焦點移動的目標控件。在顯示圖形用戶界面時,進行焦點移動次序的配置。
附圖說明
圖1是現有技術中商品簡單介紹示意圖;
圖2是現有技術中商品詳細介紹示意圖;
圖3是根據本發明第一實施方式的一種圖形用戶界面中焦點次序的配置方法的流程圖;
圖4是本發明第一實施方式的一種電視商城界面示意圖;
圖5是根據本發明第二實施方式的一種圖形用戶界面中焦點次序的配置方法的流程圖;
圖6是根據本發明第二實施方式的一種圖形用戶界面示意圖;
圖7是根據本發明第三實施方式的一種圖形用戶界面中焦點次序的配置裝置的結構示意圖;
圖8是根據本發明第四實施方式的一種圖形用戶界面中焦點次序的配置裝置的裝置示意圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明的各實施方式進行詳細的闡述。然而,本領域的普通技術人員可以理解,在本發明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術細節。但是,即使沒有這些技術細節和基于以下各實施方式的種種變化和修改,也可以實現本申請所要求保護的技術方案。
本發明的第一實施方式涉及一種圖形用戶界面中焦點次序的配置方法,該方法先獲取當前圖形用戶界面中所有控件的坐標,再根據所有控件的坐標計算控件之間的距離,選取距離最近的控件作為焦點移動的目標控件。具體流程如圖3所示,其包括:
步驟31:獲取每個控件中心點坐標。
具體地說,在獲取當前圖形用戶界面中所有控件的坐標時,獲取所有控件的中心點坐標。本實施例中的控件可以是當前的圖形用戶界面上的其中一個顯示圖標或者一個顯示區域,例如,控件可以是在電視中的電視商店上的某部影片時長顯示模塊區域或者影片的演員簡介顯示模塊區域等。獲取當前圖形用戶界面中的各種控件,并且獲取每個控件的中心坐標,該中心坐標為控件所占區域的中心坐標,該控件區域對于該中心坐標是中心對稱的,例如,對于控件的顯示區域是規則的正方形,中心區域可以在該正方形顯示區域的中心。
步驟32:選取待配置控件。
具體地說,從未配置焦點次序的控件中選取一個作為待配置控件,本實施例中的焦點可以為待移動的移動點,例如,在電視中的電視商店用戶界面上,指示器所指向的控件在電視屏幕中的顯示就是指示器指向的焦點,當指示器指向的控件進行移動切換的時候,可以認為是指示器所指向控件的焦點在進行相應的移動。當前的圖形用戶界面上有多個控件,某些控件可能已經配置了其焦點的移動方向等,對于沒有配置焦點移動的控件,將它們選取出來,作為待配置控件,準備下一步的執行操作。
步驟33:計算其他控件與待配置控件中心距離。
具體地說,計算所有控件中其他控件與待配置控件之間的距離。在本實施方式中,計算控件中心點之間的距離。在步驟31中,已經獲取了當前的圖形用戶界面上的所有控件的中心坐標,并且根據步驟32中,選取的待配置控件,可以計算得出任意控件與選取出的待配置控件之間的中心距離,該中心距離可以等效視為控件與控件之間的距離,使用控件的中心距離來計算控件之間的距離,可以使得控件之間的距離計算更為準確,例如,選取出的待配置控件為一個正方形的區域,選取出的其他控件為一個矩形區域的控件,則計算待配置控件和其他控件的中心距離,可以計算該正方形的中心點到矩形的中心點之間的距離,該距離就可以代表待配置控件和其他控件的距離。
步驟34:選取上下左右方向距離待配置控件最近的控件。
具體地說,根據所有控件的坐標計算控件之間的距離,選取距離最近的控件作為焦點移動的目標控件。值得一提的是,在計算所有控件中其他控件與待配置控件之間的距離時,按照上下左右的方向分別進行計算,最終,依據方向進行選取距離待配置控件最近的控件作為焦點移動的目標控件。即分別選取出待配置控件與在其上側、下側、左側和右側距離最近的控件,作為將要向上、向下、向左和向右移動的目標控件,則對于一個待配置控件,對于不同的上下左右方向,一共可以選取到四個目標控件,其中,每個方向可以選取到一個目標控件。目標控件可以理解為待配置的控件在下一步驟中,將要取代的控件。
例如,在電視中的電視商店用戶界面中,如果電視商城中顯示的所有控件都是規則的正方形隊列排列,則對于在該界面中心的一個被選取的待配置控件而言,距離其最近的上下左右方向上的目標控件分別為處在其正上方、正下方、正左方、正右方的控件,則這四個控件即為在界面中心的帶配置控件的目標控件。
步驟35中,判斷是否所有控件均已配置上下左右目標控件,如果所有控件均已配置上下左右的目標控件,則結束本次操作,否則,進入步驟32中,重復執行步驟32至步驟34,直至在步驟35的判斷為是,則結束此次操作。
具體地說,如果所有的控件均已配置了上下左右的控件目標,則在任意一個控件上移動時,該控件向上下左右均有可以移動的目標控件,焦點所在的待配置的控件不會因為找不到下一個需要移動到的控件的位置,而發生用戶界面顯示的錯亂問題。如果判斷出并不是所有的控件均已配置上下左右目標控件,則需要重新進入步驟32中,在步驟32中,重新選取沒有完整配置上下左右目標控件的控件作為待配置控件,并且進行上下左右控件的重新選取,直至所有的控件都已經有其上下左右目標控件。
值得一提的是,可以在設計圖形用戶界面時,獲取當前圖形用戶界面中所有控件的坐標,并為每一個控件配置焦點移動的目標控件。也就是說,在設計用戶界面的時候,可以為每一個控件配置移動的目標控件。
另外,也可以在顯示圖形用戶界面時,獲取當前圖形用戶界面中所有控件的坐標,并動態為每一個控件配置焦點移動的目標控件。不僅在設計圖形用戶界面的過程中,而且在顯示圖形界面過程中,都可以進行控件的配置操作,為每一個控件設置其上下左右的目標控件,并且在顯示圖形用戶界面時,可以動態的配置控件的目標控件,可以不在所有的控件顯示之前,為其配置目標控件,在移動控件的過程中,如果發現了移動到的控件沒有向上下左右方向上的目標控件時,再動態的根據其要移動的方向,為其選取對應方向上的需移動的目標控件。
下面以電視中的電視商店用戶界面上的控件移動方法為例,對本實施方式進行說明。首先,獲取電視商城用戶界面上的每個控件的中心坐標,例如,如圖4所示,電視商城界面上的控件區域對應的內容可以為:影片簡介、影片詳情、影片時長、影片主要演員和影片上映時間等,則獲取電視商城上的這五個控件對應的區域中心坐標,如果這五個控件區域都為矩形,則以該矩形的中心,獲取該區域的中心坐標,如果影片詳情控件沒有向上移動的目標控件,則可以獲取該影片詳情控件,并且根據之前獲取到的各控件的中心坐標,計算該影片詳情控件的中心坐標和其他控件中心坐標的距離,如果通過計算得到影片簡介控件在影片詳情控件向上的方向上的距離最近,則影片簡介控件就是影片詳情控件在向上方向上的最近控件。再次檢測所有五個控件是否都有對應方向上的目標控件,如果全部控件都有上下左右控件,則停止配置的操作。如果檢測到其中一個控件,沒有上下左右方向其中一個方向的目標控件,則再次進行查找目標控件步驟。
本實施方式相對于現有技術而言,主要區別及效果在于:獲取當前圖形用戶界面中所有控件的中心坐標,根據獲取到的控件中心坐標,計算出控件之間的中心距離,且將計算出的與待配置的控件中心距離最小的控件作為移動的目標控件,控件坐標的獲取、控件中心距離的計算等操作,都無需人工加以干預,實現焦點移動的自動化配置,從而保證了結果的正確性,并且節省了人力。
本發明的第二實施方式涉及一種圖形用戶界面中焦點次序的配置方法。第二實施方式是在第一實施方式的基礎上做了進一步改進,主要改進之處在于:在獲取當前圖形用戶界面中所有控件的坐標時,獲取所有控件的左上角坐標和右下角坐標;在計算所有控件中其他控件與待配置控件之間的距離時,計算其他控件與待配置控件的邊緣之間的距離。
本實施方式中的流程圖如圖5所示,具體如下:
本實施方式而中步驟52、54、55與第一實施方式中步驟32、34、35完全一致,在此不再贅述。
步驟51中,獲取每個控件左上角和右下角坐標。具體地說,由于控件可以占用一個區域,因此,獲取控件的左上角和右下角的坐標,就可以獲知該控件所占據的大體區域,從而根據左上角和右下角的坐標,進行獲取該控件的目標控件的進一步操作。
步驟53中,計算其他控件與待配置控件邊緣之間距離。具體地說,由于控件所占據的是一個區域,因此,根據每個控件的左上角和右下角坐標,可以獲知待配置控件與其他控件的邊緣距離,該邊緣距離可以認為是控件之間的距離,并且任意的控件都獲取其左上角和右下角的坐標,因此,得到的任意兩個控件間的相對距離是一致的。應用得到的控件之間的邊緣距離,在進行進一步的操作。
舉例來說,如圖6所示是一種比較常見的圖形用戶界面,控件布局比較規則。假設用(Xi左,Yi左)和(Xi右,Yi右)分別表示第i個控件的左上角和右下角坐標。假設要為標號1的控件配置上下左右方向的目標控件,以下舉例說明配置左側的方法:
(1)找出右下角X坐標值小于X1左的控件,假設為:Xk右<X1左,若只找出一個這樣的控件,則將該找出的控件為標號為1的控件的左邊控件。圖4中僅畫出了一個標號為2的控件及位于2上下的3個控件,實際可能存在很多這樣的控件,則進入(2)。
(2)找出X1左-Xk右的值最小的控件,若只找出一個這樣的控件,則將該找出的控件為標號為1的控件的左邊控件。這里也可能找出不止一個控件,比如,找出的可能是標號為2的控件及位于2上下的3個控件,則進入(3)。
(3)找出|Yk左-Y1左|、|Yk右-Y1右|中值最小的控件,若只找出一個這樣的控件,則將該找出的控件為標號為1的控件的左邊控件。
右邊、上邊或下邊控件配置方法與上面左邊控件的配置方法類似,在此不一一贅述。
上面各種方法的步驟劃分,只是為了描述清楚,實現時可以合并為一個步驟或者對某些步驟進行拆分,分解為多個步驟,只要包含相同的邏輯關系,都在本專利的保護范圍內;對算法中或者流程中添加無關緊要的修改或者引入無關緊要的設計,但不改變其算法和流程的核心設計都在該專利的保護范圍內。
本發明第三實施方式涉及一種圖形用戶界面中焦點次序的配置裝置,如圖7所示,包含:坐標獲取模塊71、距離計算模塊72和次序確定模塊73。
坐標獲取模塊71用于獲取當前圖形用戶界面中所有控件的坐標。
距離計算模塊72用于根據所有控件的坐標,計算控件之間的距離。
次序確定模塊73用于根據距離計算模塊計算得到的距離,選取距離最近的控件作為焦點移動的目標控件。
其中,距離計算模塊進一步包括選取子模塊721和計算子模塊722。選取子模塊721用于從未配置焦點次序的控件中選取一個作為待配置控件。計算子模塊722用于計算所有控件中其他控件與待配置控件之間的距離。進一步地,計算子模塊在計算所有控件中其他控件與待配置控件之間的距離時,按照上下左右的方向分別進行計算。次序確定模塊在選取距離最近的控件作為焦點移動的目標控件時,依據方向進行選擇。
不難發現,本實施方式為與第一實施方式相對應的系統實施例,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關技術細節在本實施方式中依然有效,為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節也可應用在第一實施方式中。
值得一提的是,本實施方式中所涉及到的各模塊均為邏輯模塊,在實際應用中,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現。此外,為了突出本發明的創新部分,本實施方式中并沒有將與解決本發明所提出的技術問題關系不太密切的單元引入,但這并不表明本實施方式中不存在其它的單元。
本發明第四實施方式涉及一種圖形用戶界面中焦點次序的配置裝置。如圖8所示,本實施方式的視圖數據模型的構造裝置8包括:處理器80、存儲器81、顯示器82和收發器83。
其中,處理器80為配置裝置的核心,其可以為CPU(中央處理器)、DSP(Digital Signal Processor,數字信號處理器)等,其主要負責圖形用戶界面中焦點次序的配置裝置中各部件之間的協調工作,以及上述方施方式中提及的獲取當前圖形用戶界面中所有控件的坐標,根據所有控件的坐標計算控件之間的距離,選取距離最近的控件作為焦點移動的目標控件等的操作。其中,存儲器81可以為ROM(Read Only Memory,只讀存儲器)、RAM(Random Access Memory,隨機訪問存儲器)、緩存或閃存等存儲設備,其可以用于存儲計算機可讀的程序指令,該程序指令用于使得處理器實現第一至第三實施方式所示的圖形用戶界面中焦點次序的配置功能,比如,存儲獲取的所有控件的坐標,焦點次序配置的結果等。其中,顯示器82主要用于顯示人機交互界面,以方便軟件開發人員進行操作。其中,收發器83主要用于與分布式服務系統中的各服務器通信(當各圖形用戶界面分布于分布式服務系統中時),從而實現配置裝置與服務器之間的數據交互。
本領域技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序存儲在一個存儲介質中,包括若干指令用以使得一個設備(可以是單片機,芯片等)或處理器(processor)執行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
本領域的普通技術人員可以理解,上述各實施方式是實現本發明的具體實施例,而在實際應用中,可以在形式上和細節上對其作各種改變,而不偏離本發明的精神和范圍。