本申請涉及界面顯示技術,具體涉及一種界面顯示方法。本申請同時涉及一種界面顯示裝置,以及一種電子設備。
背景技術:
隨著互聯(lián)網與移動通信技術的發(fā)展,移動終端設備得到了日益廣泛的應用。為了向使用者提供移動終端設備在系統(tǒng)層面的信息,例如:無線信號強度、網絡連接狀態(tài)、電池電量等,通常在移動終端設備界面的頂部顯示包含上述信息的系統(tǒng)狀態(tài)欄(以下簡稱狀態(tài)欄)。當用戶使用移動終端設備中的應用時,應用頁面通常會在狀態(tài)欄以下的顯示區(qū)域中展示。由于狀態(tài)欄通常采用固定顏色作為背景色,例如,Android手機的狀態(tài)欄顏色一般為黑色,而應用頁面的背景顏色則可能是多種多樣的,導致狀態(tài)欄和應用頁面的背景顏色不一致,從而產生一種兩者相互割裂的視覺效果,使得移動終端設備的整個顯示界面不美觀,影響用戶的使用體驗。
為了解決上述問題,使狀態(tài)欄與應用的背景顏色一致,從而產生屏幕整體色調協(xié)調的視覺效果,即通常所說的“沉浸式狀態(tài)欄”效果,有一些第三方插件或者工具可以提供上述功能。使用這些插件或者工具時,用戶通常需要為狀態(tài)欄選擇背景顏色,或者通過執(zhí)行類似“從屏幕拾取顏色”這樣的操作,從而實現(xiàn)特定應用的狀態(tài)欄沉浸效果。請參考圖1給出的沉浸式狀態(tài)欄的效果圖。
通過上面描述可以看出,采用上述狀態(tài)欄沉浸方案,用戶需要執(zhí)行顏色選取等額外處理或者操作,步驟繁瑣,效率低;而且如果用戶未能正確選取顏色,則無法取得沉浸式狀態(tài)欄的理想效果,例如,在應用頁面的背景顏色與應用頁面頂部控件(例如操作欄ActionBar)的背景顏色不一致的情況下,如果用戶未選取操作欄的背景顏色,則可能會呈現(xiàn)出狀態(tài)欄與應用割裂的情況,無法取得理想的狀態(tài)欄沉浸效果,請參考圖2示出的展示效果。
技術實現(xiàn)要素:
本申請實施例提供一種界面顯示方法和裝置,以解決現(xiàn)有的狀態(tài)欄沉浸方案操作步驟繁瑣、效率低以及沉浸效果不理想的問題。本申請實施例另外提供一種電子設備。
本申請?zhí)峁┮环N界面顯示方法,包括:
獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息,所述背景信息包括:體現(xiàn)所述應用頁面區(qū)域的背景色的相關信息;
根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景。
可選的,所述方法包括:
監(jiān)測在界面上顯示的應用頁面的更替;
所述獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息包括:針對更替后的應用頁面,獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息。
可選的,所述監(jiān)測在界面上顯示的應用頁面的更替包括:
監(jiān)測應用的啟動;和/或,
監(jiān)測應用內部不同頁面間的切換。
可選的,通過頁面管理程序監(jiān)測在界面上顯示的應用頁面的更替。
可選的,所述背景信息包括:背景圖片、或者背景顏色;
所述根據(jù)所述背景設置信息相應地設置所述系統(tǒng)欄的背景包括:設置所述系統(tǒng)欄的背景圖片、或者背景顏色。
可選的,所述系統(tǒng)欄包括:位于界面頂部的狀態(tài)欄、和/或位于界面底部的導航欄。
可選的,當所述系統(tǒng)欄為位于界面頂部的狀態(tài)欄時,所述與系統(tǒng)欄鄰接的應用頁面區(qū)域包括:所述應用頁面的頂部控件;
當所述系統(tǒng)欄為位于界面底部的導航欄時,所述與系統(tǒng)欄鄰接的應用頁面區(qū)域包括:所述應用頁面的底部控件。
可選的,所述獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景設置信息,采用如下方式實現(xiàn):
遍歷所述應用頁面中的所有控件;
針對上述每個控件,根據(jù)其在界面中的顯示位置信息判斷是否為與所述系統(tǒng)欄鄰接的控件;
若是,獲取所述控件的背景信息。
可選的,當所述背景信息為背景圖片時,在所述根據(jù)所述背景信息相應地設置所述系統(tǒng)欄的背景之前,執(zhí)行下述操作:
對所述背景圖片進行處理,使其適合作為所述系統(tǒng)欄的背景顯示。
可選的,所述對所述背景圖片進行處理包括:
對所述背景圖片進行裁剪處理,使其寬度和/或高度與所述系統(tǒng)欄一致;和/或,
對所述背景圖片進行拉伸處理,使其寬度和/或高度與所述系統(tǒng)欄一致;和/或,
對所述背景圖片進行旋轉處理。
可選的,所述根據(jù)所述背景信息相應地設置所述系統(tǒng)欄的背景,采用如下方式實現(xiàn):
通過調用系統(tǒng)提供的系統(tǒng)欄背景設置接口,相應地設置所述系統(tǒng)欄的背景圖片或者背景顏色。
可選的,所述根據(jù)所述背景信息相應地設置所述系統(tǒng)欄的背景,包括:
將所述系統(tǒng)欄的背景色設置為透明;
在所述系統(tǒng)欄的相同位置添加一個同等大小的空白控件;
根據(jù)所述背景信息相應地設置所述空白控件的背景圖片或者背景顏色。
相應的,本申請還提供一種界面顯示裝置,包括:
應用背景獲取單元,用于獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息,所述背景信息包括:體現(xiàn)所述應用頁面區(qū)域的背景色的相關信息;
系統(tǒng)欄背景設置單元,用于根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景。
可選的,所述裝置包括:
頁面更替監(jiān)測單元,用于監(jiān)測在界面上顯示的應用頁面的更替;
所述應用背景獲取單元具體用于,在所述頁面更替監(jiān)測單元監(jiān)測到應用頁面的更替后,針對更替后的應用頁面,獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息。
可選的,所述頁面更替監(jiān)測單元至少包括以下子單元之一:
應用啟動監(jiān)測子單元,用于監(jiān)測應用的啟動;
頁面切換監(jiān)測子單元,用于監(jiān)測應用內部不同頁面間的切換。
可選的,所述頁面更替監(jiān)測單元具體用于,通過頁面管理程序監(jiān)測在界面上顯示的應用頁面的更替。
可選的,所述應用背景獲取單元獲取的背景信息包括:背景圖片、或者背景顏色;
所述系統(tǒng)欄背景設置單元具體用于,根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景圖片或者背景顏色。
可選的,所述應用背景獲取單元執(zhí)行獲取背景信息操作所涉及的系統(tǒng)欄包括:位于界面頂部的狀態(tài)欄、和/或位于界面底部的導航欄。
可選的,當所述應用背景獲取單元執(zhí)行獲取背景信息操作所涉及的系統(tǒng)欄為位于界面頂部的狀態(tài)欄時,所述與系統(tǒng)欄鄰接的應用頁面區(qū)域包括:所述應用頁面的頂部控件;
當所述應用背景獲取單元執(zhí)行獲取背景信息操作所涉及的系統(tǒng)欄為位于界面底部的導航欄時,所述與系統(tǒng)欄鄰接的應用頁面區(qū)域包括:所述應用頁面的底部控件。
可選的,所述應用背景獲取單元包括:
控件遍歷子單元,用于遍歷所述應用頁面中的所有控件;
鄰接判斷子單元,用于針對所述控件遍歷子單元遍歷的每個控件,根據(jù)其在界面中的顯示位置信息判斷是否為與所述系統(tǒng)欄鄰接的控件;
背景信息獲取子單元,用于當所述鄰接判斷子單元的輸出為是時,獲取所述控件的背景信息。
可選的,當所述應用背景獲取單元獲取的背景信息為背景圖片時,所述裝置還包括:
圖片處理單元,用于在觸發(fā)所述系統(tǒng)欄背景設置單元之前,對所述背景圖片進行處理,使其適合作為所述系統(tǒng)欄的背景顯示。
可選的,所述圖片處理單元至少包括以下子單元之一:
裁剪處理子單元,用于對所述背景圖片進行裁剪處理,使其寬度和/或高度與所述系統(tǒng)欄一致;
拉伸處理子單元,對所述背景圖片進行拉伸處理,使其寬度和/或高度與所述系統(tǒng)欄一致;
旋轉處理子單元,用于對所述背景圖片進行旋轉處理。
可選的,所述系統(tǒng)欄背景設置單元具體用于,通過調用系統(tǒng)提供的系統(tǒng)欄背景設置接口,相應地設置所述系統(tǒng)欄的背景圖片或者背景顏色。
可選的,所述系統(tǒng)欄背景設置單元包括:
系統(tǒng)欄透明設置子單元,用于將所述系統(tǒng)欄的背景色設置為透明;
空白控件添加子單元,用于在所述系統(tǒng)欄的相同位置添加一個同等大小的空白控件;
控件背景設置子單元,用于根據(jù)所述背景信息相應地設置所述空白控件的背景圖片或者背景顏色。
此外,本申請還提供一種電子設備,包括:
顯示器;
處理器;
存儲器,用于存儲界面顯示程序,所述程序在被所述處理器讀取執(zhí)行時,執(zhí)行如下操作:獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息,所述背景信息包括:體現(xiàn)所述應用頁面區(qū)域的背景色的相關信息;根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景。
與現(xiàn)有技術相比,本申請具有以下優(yōu)點:
本申請?zhí)峁┑囊环N界面顯示方法,獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息,并根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景。采用所述方法,不僅可以使得系統(tǒng)欄背景與相鄰應用頁面區(qū)域背景的展示效果協(xié)調一致,實現(xiàn)應用頁面與系統(tǒng)欄渾然一體的沉浸效果,而且由于本方法能夠主動獲取在當前界面上顯示的、與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息、并采用該信息設置系統(tǒng)欄的背景,因此用戶無需執(zhí)行額外的顏色選取操作,在簡化操作步驟、提高效率的同時,還能夠避免出現(xiàn)系統(tǒng)欄與應用頁面的背景色調一致卻與相鄰控件色調不一致的割裂效果。特別是,在監(jiān)測到應用啟動以及應用頁面切換時執(zhí)行本方法,能夠使得所有應用頁面都自動以系統(tǒng)欄沉浸風格展示在用戶面前, 從系統(tǒng)層面為用戶提供良好的視覺效果。
附圖說明
圖1是沉浸式狀態(tài)欄的效果圖;
圖2是現(xiàn)有狀態(tài)欄沉浸方案可能出現(xiàn)的狀態(tài)欄與應用頁面割裂的效果圖;
圖3是本申請的一種界面顯示方法的實施例的流程圖;
圖4是本實施例提供的獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息的處理流程圖;
圖5是本申請的一種界面顯示裝置的實施例的示意圖;
圖6是本申請的一種電子設備的實施例的示意圖。
具體實施方式
在下面的描述中闡述了很多具體細節(jié)以便于充分理解本申請。但是,本申請能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本申請內涵的情況下做類似推廣,因此,本申請不受下面公開的具體實施的限制。
在本申請中,分別提供了一種界面顯示方法,一種界面顯示裝置,以及一種電子設備,在下面的實施例中逐一進行詳細說明。為了便于理解,在描述具體實施例之前先對本申請的技術方案涉及的概念作簡要說明。
為了便于用戶了解設備信息,很多電子設備,例如移動終端設備,通常通過位于顯示界面頂部的狀態(tài)欄、以圖標或者文字形式向用戶提供關于設備系統(tǒng)層面的信息,例如:無線信號強度、網絡連接狀態(tài)、電池電量、當前時間等。此外,對于一些電子設備,例如智能手機,為了擴展顯示屏幕的尺寸,取消了位于設備底部的用于導航的實體鍵,而代之以位于顯示界面底部的導航欄,也稱虛擬按鍵欄,其中包括:返回按鍵、桌面按鍵、最近應用按鍵等虛擬按鍵。
上述狀態(tài)欄和導航欄都是從系統(tǒng)層面向用戶提供服務的:向用戶提供系統(tǒng)層面的信息、或者便于用戶執(zhí)行系統(tǒng)層面的操作。在本申請中,將在電子設備界面上顯示的、從系統(tǒng)層面向用戶提供服務的欄目或者控件統(tǒng)稱為系統(tǒng)欄,所述系統(tǒng)欄包括但不限于上述的狀態(tài)欄和導航欄,例如,疊加在應用頁面上的類 似圖標形狀的系統(tǒng)欄目或者系統(tǒng)控件,也屬于本申請所述的系統(tǒng)欄。
在電子設備的顯示界面上,除了顯示上述系統(tǒng)欄之外,通常還顯示應用程序,以智能手機為例,位于狀態(tài)欄以下的區(qū)域通常是應用程序的顯示區(qū)域。一個應用程序通常包含多個應用頁面,每個頁面上可以包含一個或者多個控件。例如,為了便于用戶在不同的應用頁面之間切換,智能手機上的應用程序通常會在其頁面頂部設計一個操作欄,也稱為ActionBar,用于在多個頁面的層級結構之間導航,也可以用來管理頁面信息,而位于操作欄以下應用頁面部分也稱為應用頁面的內容區(qū)域。
基于上述界面顯示方式,本申請所述的與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息通常是指,在視覺效果上與所述系統(tǒng)欄相鄰顯示的局部應用頁面的背景信息。以狀態(tài)欄為例,如果在應用頁面頂部顯示ActionBar控件,那么與狀態(tài)欄鄰接的應用頁面區(qū)域的背景信息通常是指ActionBar控件的背景信息;如果在應用頁面頂部未顯示ActionBar控件或者其它控件,那么與狀態(tài)欄鄰接的應用頁面區(qū)域的背景信息則通常是指所述應用頁面的背景信息。
所述背景信息包括:體現(xiàn)與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景色的相關信息。所述背景信息包括但不限于背景圖片、背景顏色,其它能夠從所述應用頁面區(qū)域獲取的、并且可以體現(xiàn)出其背景色的信息,也屬于本申請所述的背景信息。
下面對本申請的實施例作詳細描述。由于目前移動終端設備應用比較廣泛,而狀態(tài)欄是移動終端設備中比較常見的一種系統(tǒng)欄,為了便于理解,本實施例以實現(xiàn)移動終端設備中的狀態(tài)欄沉浸為例進行描述,但是本方法的應用場景并不局限于移動終端設備。
請參考圖3,其為本申請的一種界面顯示方法的實施例的流程圖。所述方法包括如下步驟:
步驟301:獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息。
本實施例的技術方案通過獲取與狀態(tài)欄鄰接的應用頁面區(qū)域的背景信息,并根據(jù)獲取到的背景信息,設置狀態(tài)欄的背景,從而用戶無需執(zhí)行額外操作,就可以實現(xiàn)當前應用頁面與狀態(tài)欄渾然一體的沉浸效果。優(yōu)選地,為了使移動終端設備中的應用頁面在應用啟動或者頁面切換時能夠自動地以狀態(tài)欄沉浸風格展示在用戶面前,本實施例監(jiān)測頁面更替、并在監(jiān)測到所述更替時,執(zhí)行上 述獲取及設置操作,從而從整個系統(tǒng)層面為用戶提供良好的視覺效果。具體說,包括如下步驟301-1至301-3,下面結合附圖4作進一步說明。
步驟301-1:監(jiān)測在界面上顯示的應用頁面的更替。
移動終端設備上安裝的應用程序可能僅包含一個應用頁面,也可能包含兩個或者兩個以上的應用頁面,對于后者,這些頁面通常按照一定的層級結構組織,并可以根據(jù)用戶的操作在不同層級的應用頁面之間切換。
如果用戶單擊移動終端設備在當前顯示桌面上的某個應用圖標,通常會啟動一個應用,并在當前界面上顯示所述應用的首頁面;如果在當前運行的應用內部,用戶點擊用于執(zhí)行頁面跳轉功能的控件(例如按鈕),則可以在本應用不同層級的應用頁面之間進行切換顯示。
本步驟可以監(jiān)測在界面上顯示的上述應用頁面的更替,該更替可能是啟動應用引起的,也可能是當前運行的應用內部的頁面切換引起的。在具體實施時,可以通過移動終端設備的頁面管理程序監(jiān)測上述應用頁面的更替,所述頁面管理程序通常是指,以后臺方式運行的、用于管理頁面調度的服務監(jiān)控程序。
例如,以采用Android系統(tǒng)的智能手機為例,可以通過系統(tǒng)中的頁面管理器實現(xiàn)這一功能。具體說,在智能手機中安裝的每個應用,都可以將其包含的頁面向系統(tǒng)注冊,從而每個頁面都有一個對應的字符串作為標識,也即頁面地址。那么當用戶啟動應用、或者是在應用內部切換頁面時,頁面管理器通常會收到應用發(fā)送的相應消息,頁面管理器根據(jù)接收到的消息展示相應的應用頁面:如果是啟動應用,則顯示該應用的首頁面,如果是頁面切換,則顯示切換后的目的頁面。
在本步驟中,頁面管理器接收到來自應用的上述消息并進行相應的頁面顯示時,就說明監(jiān)測到相應的頁面更替事件。在具體實施時,可以僅在監(jiān)測到應用啟動時,或者僅在監(jiān)測到應用內部頁面切換時執(zhí)行本實施例的后續(xù)步驟。作為一種優(yōu)選實施方式,可以對上述兩種頁面更替事件都進行監(jiān)測,并在每次監(jiān)測到頁面更替時,針對當前界面上顯示的、更替后的應用頁面,執(zhí)行本實施例的后續(xù)步驟,采用這種方式,能夠使得移動終端設備中的所有應用頁面都自動地以系統(tǒng)欄沉浸風格展示在用戶面前,從系統(tǒng)層面為用戶提供良好的視覺效果。
步驟301-2:在更替后的應用頁面上,查找與系統(tǒng)欄鄰接的應用頁面區(qū)域。
由于已經在上述步驟301-1中監(jiān)測到頁面更替,在當前界面上顯示的是更替 后的應用頁面,這時可以在該應用頁面中查找與狀態(tài)欄鄰接的應用頁面區(qū)域,并獲取該區(qū)域的背景信息。
在本實施例中采用遍歷控件的方式查找與狀態(tài)欄鄰接的應用頁面區(qū)域。之前已經提到過,應用頁面中通常包含多個控件,例如操作欄、按鈕、文本框等,而且為了便于管理,應用頁面通常將這些控件采用樹形結構組織在一起,因此本步驟可以采用遞歸查找的方式從樹形結構的根節(jié)點開始,遍歷整個樹形結構中的每一個控件,并且針對每個控件,根據(jù)其在界面中的顯示位置信息判斷其是否為與狀態(tài)欄鄰接的控件。
具體說,在遍歷的過程中,針對當前找到的每個控件,可以先判斷該控件的寬度是否小于等于界面的寬度,若是,則獲取該控件在界面上的顯示位置信息,從中提取其左上角的y坐標(縱向坐標),并計算該坐標與狀態(tài)欄左下角的y坐標之間的差值。按照上述方式完成遍歷操作后,從所有被遍歷的控件中選取上述差值最小的控件,即最靠近狀態(tài)欄的控件,該控件即為本次查找得到的與狀態(tài)欄鄰接的應用頁面的頂部控件。
如果在上述遍歷過程中,找到了兩個或者兩個以上的控件,都滿足其左上角與狀態(tài)欄左下角的y坐標的差值最小的條件,這種情況主要是因為應用頁面中的控件之間可能存在重疊引起的。這時可以進一步根據(jù)控件的高度(即控件在豎直方向的尺寸)進行選擇,由于高度值小的控件通常覆蓋在其他控件之上,因此可以從中選擇高度值最小的控件,作為與狀態(tài)欄鄰接的應用頁面的頂部控件。
需要說明的是,如果應用頁面不包含頂部控件,在這種情況下,本步驟找到的與狀態(tài)欄鄰接的應用頁面區(qū)域可以是應用頁面本身,因為應用頁面通常是樹型結構中的最頂層控件。
步驟301-3:獲取所述應用頁面區(qū)域的背景信息。
找到所述應用頁面區(qū)域后,可以獲取該區(qū)域的背景信息。例如可以通過移動終端設備的系統(tǒng)平臺提供的接口獲取該信息,以Android系統(tǒng)為例,如果在上述步驟301-2中找到了與狀態(tài)欄鄰接的應用頁面頂部控件,那么本步驟中就可以針對所述控件嘗試調用系統(tǒng)提供的接口獲取所述控件的背景信息。具體說,可以包括以下兩個操作:
調用getBackground()或者類似接口獲取為該控件設置的背景圖片;
調用getBackgroundColor()或者類似接口獲取為該控件設置的背景顏色。
由于一個控件可能具有背景圖片或者背景顏色這兩種設置信息中的任一種,因此在具體實施時,可以采用嘗試的策略獲取上述設置信息。例如,可以先嘗試獲取背景圖片,如果未成功,則繼續(xù)嘗試獲取背景顏色;也可以先嘗試獲取背景顏色,如果未成功,則繼續(xù)嘗試獲取背景圖片。
對于獲取的背景信息是背景圖片的情況,由于后續(xù)可能對背景圖片進行處理,并設置為狀態(tài)欄的背景圖片,因此本步驟可以對獲取的背景圖片進行復制,并在后續(xù)步驟302中使用復制得到的背景圖片進行所需的處理以及設置等操作。
至此,上述步驟301-1至步驟301-3給出了通過遍歷控件獲取與狀態(tài)欄鄰接的應用頁面區(qū)域的背景信息的實施方式,在其他實施方式中,也可以采用其他方式獲取所述背景信息,例如,通過截圖的方式獲取。
具體說,可以通過屏幕截圖的方式獲取在當前界面上顯示的應用頁面的圖像,按照應用頁面頂部控件的常規(guī)尺寸從該圖像的頂部截取相應尺寸的頂部圖片,然后從該圖片中讀取預定數(shù)量(例如20個或者50個)的像素點的顏色值,根據(jù)這些像素點的顏色值進行聚類,將顏色值在一定范圍內的像素點劃分為一類,然后選取包含像素點最多的類別,計算該類別中的像素點的顏色均值,并用計算得到的顏色均值作為與狀態(tài)欄鄰接的應用頁面區(qū)域的背景色。也可以采用所述顏色均值填充所述截取的頂部圖片,并將得到的頂部圖片作為與狀態(tài)欄鄰接的應用頁面區(qū)域的背景圖片。
步驟302:根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景。
如果在步驟301中獲取到的背景信息是背景圖片,由于背景圖片的尺寸與狀態(tài)欄的尺寸可能并不一致,在這種情況下,如果將獲取的背景圖片設置為狀態(tài)欄的背景圖片,可能會設置失敗,也可能設置成功但是顯示效果并不理想。針對這種情況,可以先對所述背景圖片進行處理,使得背景圖片的尺寸與狀態(tài)欄的尺寸一致,適合作為所述狀態(tài)欄的背景顯示。
上述對背景圖片進行處理包括:裁剪處理、拉伸處理、旋轉處理等,下面對這幾類處理分別進行說明。
1)裁剪處理
如果步驟301獲取的背景圖片的尺寸大于所述狀態(tài)欄的尺寸,則可以通過裁剪處理使得背景圖片的寬度(在水平方向上的尺寸)和/或高度(在豎直方向 上的尺寸)與所述狀態(tài)欄一致。例如,如果從頂部控件獲取的背景圖片的寬度與狀態(tài)欄的寬度一致,而高度大于狀態(tài)欄的高度,則可以通過剪裁使所述背景圖片的高度與狀態(tài)欄的高度一致。
根據(jù)移動終端設備采用的系統(tǒng)平臺的不同,可以調用不同的系統(tǒng)接口實現(xiàn)上述圖片裁剪功能。例如,如果在Android系統(tǒng)上采用Java開發(fā)語言實現(xiàn)本技術方案,則可以以步驟301獲取的背景圖片、裁剪的起始位置信息、裁剪后圖片的寬度和高度等作為入口參數(shù),調用Bitmap類的createBitmap()方法,從而得到裁剪后的、與狀態(tài)欄的寬度和高度一致的背景圖片。
2)拉伸處理
同樣的道理,如果步驟301獲取的背景圖片的尺寸小于狀態(tài)欄的尺寸,則可以通過拉伸處理使得所述背景圖片的寬度和/或高度與所述狀態(tài)欄一致。
仍以在Android系統(tǒng)上采用Java開發(fā)語言實現(xiàn)本技術方案為例,為了實現(xiàn)背景圖片的拉伸操作,可以通過計算狀態(tài)欄的寬度與背景圖片的寬度的比值、狀態(tài)欄的高度與背景圖片的高度的比值,獲取拉伸操作的拉伸比例,并用該拉伸比例計算拉伸矩陣Matrix,然后以步驟301獲取的背景圖片、拉伸的起始位置信息、拉伸后圖片的寬度和高度、以及上述拉伸矩陣Matrix等為入口參數(shù),調用Bitmap類的createBitmap()方法,從而得到拉伸后的、與狀態(tài)欄的寬度和高度一致的背景圖片。
3)旋轉處理
對于某些具有特定圖案的背景圖片,位于圖片上邊緣和下邊緣處的圖案可能并不對稱,這種情況下,如果直接將所述背景圖片設置為狀態(tài)欄的背景圖片,可能無法獲取良好的顯示效果。針對這種情況,可以對所述背景圖片進行旋轉處理,以改善顯示效果。例如對所述背景圖片進行180度旋轉,使得其作為狀態(tài)欄的背景顯示后,能夠與應用頁面鄰接部分的圖案比較好地對接或者吻合。
仍以在Android系統(tǒng)上采用Java開發(fā)語言實現(xiàn)本技術方案為例,為了實現(xiàn)背景圖片的旋轉操作,可以生成旋轉矩陣Matrix,并為該矩陣設置旋轉角度,例如180度,然后以步驟301獲取的背景圖片、旋轉的起始位置信息、旋轉后圖片的寬度和高度、以及上述設置好旋轉角度的旋轉矩陣等作為入口參數(shù),調用Bitmap的createBitmap()方法,從而得到旋轉后的背景圖片。
至此,描述了為了使所述背景圖片適合作為狀態(tài)欄的背景顯示、所采用的 三種背景圖片處理方式。需要說明的是,在具體實施時,上述三種處理方式可以單獨使用,也可以聯(lián)合使用,例如,可以先裁剪再旋轉。也可以在上述三種方式的基礎上作一些變更處理,例如:對于與狀態(tài)欄尺寸不同的背景圖片,也可以直接使用上述拉伸方式處理,只要將其中的Matrix設置為相應的縮放比例,就可以相應地獲取縮小或者拉伸后的背景圖片;此外,當背景圖片的尺寸小于狀態(tài)欄的尺寸時,也可以采用拼接的方式,使得背景圖片的尺寸與狀態(tài)欄的尺寸一致。
上面描述的實施方式,以及不同于上述實施方式的其他變更方式,只要能夠使得所述背景圖片與狀態(tài)欄的尺寸一致、適合作為狀態(tài)欄的背景顯示,就都不偏離本技術方案的核心,因此都在本申請的保護范圍之內。
獲取背景信息后(或者對背景圖片進行了上述處理后),可以根據(jù)所述背景信息,對狀態(tài)欄的背景進行設置。在具體實施中,可以采用如下兩種方式:
1)調用系統(tǒng)接口實現(xiàn)。
如果移動終端設備的系統(tǒng)平臺提供了設置狀態(tài)欄背景圖片或者背景顏色的接口,那么本步驟就可以以在步驟301中獲取的背景圖片或者背景顏色作為入口參數(shù),直接調用該接口實現(xiàn)所述狀態(tài)欄的背景設置。
2)通過增加底層控件實現(xiàn)。
如果系統(tǒng)平臺未提供相應的設置接口,那么可以通過添加底層控件實現(xiàn)。具體說,首先將所述狀態(tài)欄的背景色設置為透明,例如在android平臺可以通過調用以下方法或者類似的方式實現(xiàn)狀態(tài)欄的透明:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
然后在所述狀態(tài)欄的相同位置添加一個同等大小的空白控件,并根據(jù)所述背景信息相應地設置所述空白控件的背景圖片或者背景顏色。所述空白控件是指沒有顯示文本、字符串等前景信息的控件。仍以Android系統(tǒng)平臺為例,如果背景信息是背景圖片,可以以所述背景圖片作為入參,針對該空白控件調用setBackgroundDrawable()或者SetBackgroundResource()等類似函數(shù)將所述背景圖片設置為其背景;如果背景信息是背景顏色,可以以所述背景顏色的顏色值作為入參,針對該空白控件調用setBackgroundColor()等類似函數(shù),從而將所述背景顏色設置為該空白控件的背景顏色。
由于狀態(tài)欄在顯示界面中所處的層級通常是最高的,即處于最頂層的位置, 也就是說,狀態(tài)欄是疊加在新增控件上方的,而狀態(tài)欄已經被設置為透明背景,因此就會顯示出狀態(tài)欄上的圖標和文字信息疊加在新增控件的背景圖片或者背景色上的展示效果。由于背景圖片或者背景色是從與狀態(tài)欄鄰接的應用頁面區(qū)域獲取的,因此狀態(tài)欄與相鄰的應用頁面區(qū)域的背景圖片或者背景色是一致的,從而實現(xiàn)了狀態(tài)欄沉浸的效果。
至此,通過上述步驟301至步驟302對本技術方案的實施方式進行了詳細描述。在具體實施本技術方案時,還可以在步驟301后判斷是否成功獲取到所述背景信息,例如,采用遍歷控件的方式找到與狀態(tài)欄鄰接的頂部控件后,在采用調用系統(tǒng)接口的方式獲取所述頂部控件的背景顏色或者背景圖片時,如果上述操作返回的是代表失敗的值、或者返回的指向背景信息的指針為空指針,即,沒有一個操作是成功的,那么通常說明該頂部控件沒有設置背景顏色或者背景圖片等背景信息,在這種情況下,就可以不執(zhí)行步驟302。
需要說明的是,本實施例是以實現(xiàn)狀態(tài)欄沉浸效果為例進行的描述,但是本技術方案不僅可以實現(xiàn)狀態(tài)欄沉浸,也可以實現(xiàn)其他系統(tǒng)欄的沉浸效果。例如:如果電子設備的界面不僅包含狀態(tài)欄還有底部導航欄,那么在步驟301中不僅可以獲取與狀態(tài)欄鄰接的應用頁面區(qū)域(例如頂部控件)的背景信息,還可以獲取與底部導航欄鄰接的應用頁面區(qū)域(例如底部控件)的背景信息,并在成功獲取上述信息的情況下,在步驟302中根據(jù)上述背景信息相應地設置狀態(tài)欄以及底部導航欄的背景,從而實現(xiàn)狀態(tài)欄和底部導航欄的沉浸效果。
綜上所述,本實施例提供的界面顯示方法,不僅可以使得系統(tǒng)欄背景與相鄰應用頁面區(qū)域背景的展示效果協(xié)調一致,實現(xiàn)應用頁面與系統(tǒng)欄渾然一體的沉浸效果,而且由于本方法能夠主動獲取在當前界面上顯示的、與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息、并采用該信息設置系統(tǒng)欄的背景,因此用戶無需執(zhí)行額外的顏色選取操作,在簡化操作步驟、提高效率的同時,還能夠避免出現(xiàn)系統(tǒng)欄與應用頁面的背景色調一致卻與相鄰控件色調不一致的割裂效果。特別是,在監(jiān)測到應用頁面更替時執(zhí)行本方法,能夠使得所有應用頁面都以系統(tǒng)欄沉浸風格展示在用戶面前,從系統(tǒng)層面為用戶提供良好的視覺效果。
上述的實施例中,提供了一種界面顯示方法,與之相對應的,本申請還提供一種界面顯示裝置。請參看圖5,其為本申請的一種界面顯示裝置的實施例示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本實施例的一種界面顯示裝置,包括:應用背景獲取單元501,用于獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息,所述背景信息包括:體現(xiàn)所述應用頁面區(qū)域的背景色的相關信息;系統(tǒng)欄背景設置單元502,用于根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景。
可選的,所述裝置包括:
頁面更替監(jiān)測單元,用于監(jiān)測在界面上顯示的應用頁面的更替;
所述應用背景獲取單元具體用于,在所述頁面更替監(jiān)測單元監(jiān)測到應用頁面的更替后,針對更替后的應用頁面,獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息。
可選的,所述頁面更替監(jiān)測單元至少包括以下子單元之一:
應用啟動監(jiān)測子單元,用于監(jiān)測應用的啟動;
頁面切換監(jiān)測子單元,用于監(jiān)測應用內部不同頁面間的切換。
可選的,所述頁面更替監(jiān)測單元具體用于,通過頁面管理程序監(jiān)測在界面上顯示的應用頁面的更替。
可選的,所述應用背景獲取單元獲取的背景信息包括:背景圖片、或者背景顏色;
所述系統(tǒng)欄背景設置單元具體用于,根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景圖片或者背景顏色。
可選的,所述應用背景獲取單元執(zhí)行獲取背景信息操作所涉及的系統(tǒng)欄包括:位于界面頂部的狀態(tài)欄、和/或位于界面底部的導航欄。
可選的,當所述應用背景獲取單元執(zhí)行獲取背景信息操作所涉及的系統(tǒng)欄為位于界面頂部的狀態(tài)欄時,所述與系統(tǒng)欄鄰接的應用頁面區(qū)域包括:所述應用頁面的頂部控件;
當所述應用背景獲取單元執(zhí)行獲取背景信息操作所涉及的系統(tǒng)欄為位于界面底部的導航欄時,所述與系統(tǒng)欄鄰接的應用頁面區(qū)域包括:所述應用頁面的底部控件。
可選的,所述應用背景獲取單元包括:
控件遍歷子單元,用于遍歷所述應用頁面中的所有控件;
鄰接判斷子單元,用于針對所述控件遍歷子單元遍歷的每個控件,根據(jù)其 在界面中的顯示位置信息判斷是否為與所述系統(tǒng)欄鄰接的控件;
背景信息獲取子單元,用于當所述鄰接判斷子單元的輸出為是時,獲取所述控件的背景信息。
可選的,當所述應用背景獲取單元獲取的背景信息為背景圖片時,所述裝置還包括:
圖片處理單元,用于在觸發(fā)所述系統(tǒng)欄背景設置單元之前,對所述背景圖片進行處理,使其適合作為所述系統(tǒng)欄的背景顯示。
可選的,所述圖片處理單元至少包括以下子單元之一:
裁剪處理子單元,用于對所述背景圖片進行裁剪處理,使其寬度和/或高度與所述系統(tǒng)欄一致;
拉伸處理子單元,對所述背景圖片進行拉伸處理,使其寬度和/或高度與所述系統(tǒng)欄一致;
旋轉處理子單元,用于對所述背景圖片進行旋轉處理。
可選的,所述系統(tǒng)欄背景設置單元具體用于,通過調用系統(tǒng)提供的系統(tǒng)欄背景設置接口,相應地設置所述系統(tǒng)欄的背景圖片或者背景顏色。
可選的,所述系統(tǒng)欄背景設置單元包括:
系統(tǒng)欄透明設置子單元,用于將所述系統(tǒng)欄的背景色設置為透明;
空白控件添加子單元,用于在所述系統(tǒng)欄的相同位置添加一個同等大小的空白控件;
控件背景設置子單元,用于根據(jù)所述背景信息相應地設置所述空白控件的背景圖片或者背景顏色。
在上述的實施例中,提供了一種界面顯示方法以及一種界面顯示裝置,此外,本申請還提供了一種電子設備;所述電子設備實施例如下:
請參考圖6,其示出了本申請的一種電子設備的實施例的示意圖。
所述電子設備,包括:顯示器601;處理器602;存儲器603;
所述存儲器603用于存儲界面顯示程序,所述程序在被所述處理器讀取執(zhí)行時,執(zhí)行如下操作:獲取與系統(tǒng)欄鄰接的應用頁面區(qū)域的背景信息,所述背景信息包括:體現(xiàn)所述應用頁面區(qū)域的背景色的相關信息;根據(jù)所述背景信息,相應地設置所述系統(tǒng)欄的背景。
本申請雖然以較佳實施例公開如上,但其并不是用來限定本申請,任何本領域技術人員在不脫離本申請的精神和范圍內,都可以做出可能的變動和修改,因此本申請的保護范圍應當以本申請權利要求所界定的范圍為準。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。
內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內存是計算機可讀介質的示例。
1、計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitory media),如調制的數(shù)據(jù)信號和載波。
2、本領域技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。