一種動態(tài)切換界面的方法和裝置制造方法
【專利摘要】本申請?zhí)峁┝艘环N動態(tài)切換界面的方法和裝置,該方法包括:預先配置第一顯示界面的第一屬性配置文件,以及第二顯示界面的第二屬性配置文件,當接收到從當前展示的第一顯示界面切換至第二顯示界面的切換指令時,獲取所述第二顯示界面的第二屬性配置文件;依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,加載所述第二顯示界面;將當前展示的第一顯示界面切換為所述第二顯示界面進行展示。采用本申請實施例的方法或裝置,不會影響計算機系統(tǒng)的性能,也改善了界面切換存在的停頓感從而提升了用戶體驗。同時,也不再需要界面代碼來實現(xiàn)界面切換,避免了維護這些結構復雜的代碼而導致成本高的結果。
【專利說明】一種動態(tài)切換界面的方法和裝置
【技術領域】
[0001]本申請涉及計算機系統(tǒng)的數(shù)據處理領域,特別涉及一種動態(tài)切換界面的方法和裝置。
【背景技術】
[0002]計算機軟件(Computer Software)是指計算機系統(tǒng)中的程序,程序是計算任務的處理對象和處理規(guī)則的描述。有些計算機軟件有很多個顯示界面,在軟件啟動或者運行的不同階段,計算機軟件所顯示的界面也是不同的。當計算機軟件的顯示界面,由于某種原因,需要從一個界面切換到另一個界面時,需要對界面展示上的控件進行調整,例如,中英文切換導致的控件布局調整等,其中,控件是對數(shù)據和方法的封裝。
[0003]現(xiàn)有技術中,當計算機軟件的界面上的控件展示需要做某些調整時,例如移位、是否隱藏或者改變大小等等,一般有兩種實現(xiàn)方案,在第一種實現(xiàn)方案中,如果界面的布局改動比較大,一般就會把改變前的界面直接銷毀,然后重新創(chuàng)建改變后的界面進行展示。而第二種實現(xiàn)方案中,如果界面改動比較小,那么就可以采用界面層的代碼來具體實現(xiàn)控件的移位、改變大小和隱藏等目的。這兩種實現(xiàn)方案都需要開發(fā)工程師在界面開發(fā)上編寫相應的代碼來實現(xiàn)。
[0004]發(fā)明人在研究過程中發(fā)現(xiàn),現(xiàn)有的第一種方案,因為采用重新創(chuàng)建改變后的界面來實現(xiàn)界面切換,就需要在切換時快速關閉一個再打開重新創(chuàng)建的另一個界面,這就會造成資源占用大,而且切換時先關閉一個再創(chuàng)建另一個界面就會因為反復操作而影響計算機系統(tǒng)的性能,進一步的也會因為界面切換存在停頓感而降低用戶體驗。而現(xiàn)有的第二種方案,需要由界面代碼來實現(xiàn),雖然不會存在第一種方案的問題,但是就需要開發(fā)大量界面代碼來實現(xiàn)界面的切換展示,而這些代碼結構復雜導致了維護成本高的結果。
[0005]總之,目前需要本領域技術人員迫切解決的一個技術問題就是:如何能夠創(chuàng)新的提出一種動態(tài)切換界面的方法,以解決現(xiàn)有技術中切換界面會影響計算機系統(tǒng)的性能的問題,在提升用戶體驗的同時也不會提高維護成本。
【發(fā)明內容】
[0006]本申請所要解決的技術問題是提供一種動態(tài)切換界面的方法,用以解決現(xiàn)有技術中切換界面影響計算機系統(tǒng)的性能的問題,在提升用戶體驗的同時也不會提高維護成本。
[0007]本申請還提供了一種動態(tài)切換界面的裝置,用以保證上述方法在實際中的實現(xiàn)及應用。
[0008]為了解決上述問題,本申請公開了一種動態(tài)切換界面的方法,包括:
[0009]預先配置第一顯示界面的第一屬性配置文件,以及第二顯示界面的第二屬性配置文件,所述屬性配置文件用于表示顯示界面的顯示屬性;
[0010]當接收到從當前展示的第一顯示界面切換至第二顯示界面的切換指令時,獲取所述第二顯示界面的第二屬性配置文件;[0011]依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,力口載所述第二顯示界面;
[0012]將當前展示的第一顯示界面切換為所述第二顯示界面進行展示。
[0013]優(yōu)選的,所述依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,加載所述第二顯示界面,包括:
[0014]獲取所述第二屬性配置文件中配置的第二顯示界面的所有顯示控件作為第二顯示控件隊列,以及獲取第一顯示界面的所有顯示控件作為第一顯示控件隊列;
[0015]依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的屬性差異,生成所述第二顯示界面。
[0016]優(yōu)選的,依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的屬性差異,生成所述第二顯示界面,包括:
[0017]依次判斷所述第二顯示控件隊列中的顯示控件是否在所述第一顯示控件隊列中存在,如果是,則用該第二顯示控件隊列中的顯示控件的屬性替換所述第一顯示控件隊列中對應的顯示控件的屬性,如果否,則直接加載所述當前顯示控件的屬性;
[0018]如果第一顯示控件隊列中的顯示控件在所述第二顯示控件隊列中不存在,則卸載該第一顯示控件隊列中的顯示控件及其屬性;
[0019]當所述第二顯示控件隊列和第一顯示控件隊列的顯示屬性的差異比對完畢時,組合第二顯示界面所需的顯示控件以生成第二顯示界面。
[0020]優(yōu)選的,所述獲取所述第二顯示界面的第二屬性配置文件,包括:
[0021]依據所述切換指令獲取所述第二屬性配置文件的存儲路徑;
[0022]從所述存儲路徑指示的存儲空間中讀取所述第二屬性配置文件。
[0023]優(yōu)選的,所述第一顯示界面和第二顯示界面位于同一個窗口中。
[0024]本申請公開了一種動態(tài)切換界面的裝置,包括:
[0025]配置模塊,用于預先配置第一顯示界面的第一屬性配置文件,以及第二顯示界面的第二屬性配置文件,所述屬性配置文件用于表示顯示界面的顯示屬性;
[0026]獲取模塊,用于當接收到從當前展示的第一顯示界面切換至第二顯示界面的切換指令時,獲取所述第二顯示界面的第二屬性配置文件;
[0027]加載模塊,用于依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,加載所述第二顯示界面;
[0028]切換模塊,用于將當前展示的第一顯示界面切換為所述第二顯示界面進行展示。
[0029]優(yōu)選的,所述加載模塊包括:
[0030]第一獲取子模塊,用于獲取所述第二屬性配置文件中配置的第二顯示界面的所有顯示控件作為第二顯示控件隊列,以及獲取第一顯示界面的所有顯示控件作為第一顯示控件隊列;
[0031]生成子模塊,用于依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的屬性差異,生成所述第二顯示界面。
[0032]優(yōu)選的,所述生成子模塊包括:
[0033]判斷子模塊,用于依次判斷所述第二顯示控件隊列中的顯示控件是否在所述第一顯不控件隊列中存在;[0034]替換子模塊,用于在所述判斷子模塊的結果為是的情況下,用該第二顯示控件隊列中的顯示控件的屬性替換所述第一顯示控件隊列中對應的顯示控件的屬性;
[0035]加載子模塊,用于在所述判斷子模塊的結果為否的情況下,直接加載所述當前顯示控件的屬性;
[0036]卸載子模塊,應用于如果第一顯示控件隊列中的顯示控件在所述第二顯示控件隊列中不存在,卸載該第一顯示控件隊列中的顯示控件及其屬性;
[0037]組合子模塊,用于當所述第二顯示控件隊列和第一顯示控件隊列的比對完畢時,組合第二顯示界面所需的顯示控件以生成第二顯示界面。
[0038]優(yōu)選的,所述獲取模塊包括:
[0039]第二獲取子模塊,用于依據所述切換指令獲取所述第二屬性配置文件的存儲路徑;
[0040]讀取子模塊,用于從所述存儲路徑指示的存儲空間中讀取所述第二屬性配置文件。
[0041 ] 優(yōu)選的,所述第一顯示界面和第二顯示界面位于同一個窗口中。
[0042]與現(xiàn)有技術相比,本申請包括以下優(yōu)點:
[0043]在本申請中,在當前打開的計算機軟件中,用戶可能會從當前正在瀏覽的第一顯示界面切換至第二顯示界面,而為了減少在從第一顯示界面切換至第二顯示界面所耗費的計算機系統(tǒng)資源,需要預先為切換前后的第一顯示界面和第二顯示界面的屬性配置文件,在需要從第一顯示界面切換至第二顯示界面的時候,直接調用第二顯示界面的屬性配置文件、第一顯示界面的屬性配置文件進行顯示屬性的比對,從而在實現(xiàn)動態(tài)切換界面的同時也不影響計算機系統(tǒng)資源,還能提升用戶對于切換界面的使用體驗。同時,也不再需要界面代碼來實現(xiàn)界面切換,避免了維護這些結構復雜的代碼而導致成本高的結果。
[0044]進一步的,界面切換的實現(xiàn),實際上由底層控件庫在同一個窗口中作切換,所以對于計算機系統(tǒng)的資源占用較少,并且界面切換性能也比現(xiàn)有技術更優(yōu)越。
[0045]當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優(yōu)點。
【專利附圖】
【附圖說明】
[0046]為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0047]圖1是本申請的一種動態(tài)切換界面的方法實施例的流程圖;
[0048]圖2是本申請方法實施例中步驟102的流程圖;
[0049]圖3是本申請方法實施例中步驟103的流程圖;
[0050]圖4是本申請方法實施例中步驟302的流程圖;
[0051]圖5是本申請中顯示界面的開發(fā)和底層控件庫的關系示意圖;
[0052]圖6是本申請的一種動態(tài)切換界面的裝置實施例的結構框圖;
[0053]圖7是本申請裝置實施例中獲取模塊601的結構框圖;
[0054]圖8是本申請裝置實施例中加載模塊602的結構框圖;[0055]圖9是本申請裝置實施例中生成子模塊702的結構框圖。
【具體實施方式】
[0056]下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0057]本申請可用于眾多通用或專用的計算裝置環(huán)境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器裝置、包括以上任何裝置或設備的分布式計算環(huán)境等等。
[0058]本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據類型的例程、程序、對象、組件、數(shù)據結構等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。
[0059]本申請的主要思想之一可以包括,在當前打開的計算機軟件中,用戶可能會從當前正在瀏覽的第一顯示界面切換至第二顯示界面,而為了減少在從第一顯示界面切換至第二顯示界面所耗費的計算機系統(tǒng)資源,需要預先為切換前后的第一顯示界面和第二顯示界面的屬性配置文件,在需要從第一顯示界面切換至第二顯示界面的時候,直接調用第二顯示界面的屬性配置文件、第一顯示界面的屬性配置文件進行顯示屬性的比對,從而在實現(xiàn)動態(tài)切換界面的同時也不影響計算機系統(tǒng)資源,還能提升用戶對于切換界面的使用體驗。
[0060]參考圖1,示出了本申請一種動態(tài)切換界面的方法實施例的流程圖,本實施例可以包括以下步驟:
[0061]步驟101:預先配置第一顯示界面的第一屬性配置文件,以及第二顯示界面的第二屬性配置文件,所述屬性配置文件用于表示顯示界面的顯示屬性。
[0062]在本申請實施例中,對應切換前后的第一顯示界面和第二顯示界面來說,只需要預先配置好這兩個顯示界面的屬性配置文件即可實現(xiàn)動態(tài)切換。其中,第一顯示界面和第二顯示界面是同一個計算機軟件中,處于軟件不同運行狀態(tài)下的不同顯示頁面,例如對于阿里旺旺軟件來講,當用戶登錄成功之后,如果點擊登錄用戶是買方用戶,則對應一個“買家版頁面”,而如果用戶是賣方用戶,則對應一個“賣家版頁面”,如果同一個用戶需要從“買家版頁面”切換至“賣家版頁面”,那么“買家版頁面”就是本申請實施例中的第一顯示界面,而“賣家版頁面”就是本申請實施例中的第二顯示界面。
[0063]在執(zhí)行從第一顯示界面到第二顯示界面的切換操作時,第一顯示界面的第一屬性配置文件和第二顯示界面的第二屬性配置文件都已經預先配置完成,不過需要說明的是,第一屬性配置文件和第二屬性配置文件配置完成之后,因為用戶不一定立即就從第一顯示界面切換至第二顯示界面,所以也無需馬上執(zhí)行步驟102及后續(xù)的切換流程。
[0064]其中,屬性配置文件用來表示對應的顯示界面的顯示屬性,即是顯示界面中的所有控件的屬性,例如,一個按鈕控件的長度和高度信息,以及該按鈕控件在顯示界面的位置信息等。該屬性配置文件可以采用XML(可擴展標記語言,Extensible Markup Language)文件實現(xiàn),而具體的根據屬性配置文件來繪制顯示界面的操作可以由底層控件庫實現(xiàn)。那么在配置完成第一屬性配置文件和第二屬性配置文件之后,可以將這兩個屬性配置文件的存儲路徑注冊至底層控件庫中,后續(xù)在需要調用時可以依據存儲路徑找到屬性配置文件。具體實現(xiàn)時,可以將顯示界面的標識與存儲路徑一一對應的保存,這樣就可以在切換時確定與目標顯示界面唯一對應的一個存儲路徑。
[0065]步驟102:當接收到從當前展示的第一顯示界面切換至第二顯示界面的切換指令時,獲取所述第二顯示界面的第二屬性配置文件。
[0066]其中,本申請實施例中提及的第一顯示界面和第二顯示界面位于同一個窗口中,即是在用戶打開某一個計算機軟件時的當前窗口下實現(xiàn)第一顯示界面到第二顯示界面的動態(tài)切換。本步驟在實際應用中,需在接收到用戶觸發(fā)的從當前展示的第一顯示界面切換至第二顯示界面的切換指令時執(zhí)行,該切換指令可以理解為,用戶當前顯示界面為“買家版頁面”時,點擊了“賣家版頁面”的鏈接或者按鈕等,向底層控件庫發(fā)出了需要從當前顯示的“買家版頁面”切換至“賣家版頁面”進行顯示的命令。當然,在實際應用場景中,也可以采用其他方式觸發(fā)從當前展示的第一顯示界面切換至第二顯示界面的切換指令。
[0067]參考圖2,為步驟102的流程圖,其中,獲取所述第二顯示界面的第二屬性配置文件的步驟,具體可以包括:
[0068]步驟201:依據所述切換指令獲取所述第二屬性配置文件的存儲路徑;
[0069]因為切換指令包含了目標顯示界面即是第二顯示界面,那么,實際應用中底層控件庫就可以根據第二顯示界面的標識獲取到已經注冊過的第二屬性配置文件的存儲路徑;
[0070]步驟202:從所述存儲路徑指示的存儲空間中讀取所述第二屬性配置文件。
[0071]底層控件庫再從存儲路徑指示的存儲空間中讀取到第二屬性配置文件。
[0072]接著返回圖1,在步驟103中:依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,加載所述第二顯示界面。
[0073]其中,第二屬性配置文件反映的是第二顯示界面的顯示控件屬性,第一屬性配置文件反映的是第一顯示界面的顯示控件屬性,那么就可以將這兩個文件中配置的顯示控件一一進行比對,從而根據比對結果記載第二顯示界面。
[0074]參考圖3所示,為步驟103的流程圖,在實施時具體可以包括:
[0075]步驟301:獲取所述第二屬性配置文件中配置的第二顯示界面的所有顯示控件作為第二顯示控件隊列,以及獲取第一顯示界面的所有顯示控件作為第一顯示控件隊列;
[0076]因為在第二屬性配置文件中都已經配置好了第二顯示界面中應該包括哪些控件以及撰寫控件的屬性,例如,控件的顯示位置及大小等信息,所以在比對第二屬性配置文件和第一屬性配置文件的差異時,需要先獲取到第二屬性配置文件中配置的第二顯示界面的所有顯示控件作為第二顯示控件隊列,以及第一顯示界面的所有顯示控件作為第一顯示控件隊列。
[0077]步驟302:依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的屬性差異,生成所述第二顯示界面。
[0078]因為第一顯示界面和第二顯示界面是不同的顯示界面,所以第一顯示控件隊列和第二顯示控件隊列中的顯示控件一定存在屬性差異,例如,第一顯示控件隊列中的顯示控件在第二顯示控件隊列中不存在,或者第一顯示控件隊列中的顯示控件雖然在第二顯示控件隊列中存在,但是屬性發(fā)生了變化,等等,在本步驟即是根據兩個隊列中的顯示控件的差異生成第二顯示界面。
[0079]參考圖4,為步驟302的流程圖,步驟302在實施時具體可以包括:
[0080]步驟401:依次判斷所述第二顯示控件隊列中的顯示控件是否在所述第一顯示控件隊列中存在,如果是,則進入步驟402 ;如果否,則進入步驟403 ;
[0081 ] 在本實施例中,先比對第二顯示控件中的顯示控件是否在第一顯示控件隊列中存在,如果存在,則說明該顯示控件可能在第二屬性配置文件中的顯示屬性發(fā)生了變化,當然,也可能沒有變化,此時不管有沒有變化都可以重新加載該顯示控件以實現(xiàn)切換;
[0082]步驟402:用該第二顯示控件隊列中的顯示控件的屬性替換所述第一顯示控件隊列中對應的顯示控件的屬性;
[0083]如果一個控件在切換前后的兩個顯示界面中都存在,那么則將其在第二屬性配置文件中配置的屬性替換在第一屬性配置文件中配置的屬性,即是實現(xiàn)顯示控件從第一顯示界面到第二顯示界面的顯示更新;
[0084]步驟403:直接加載所述顯示控件的屬性;
[0085]如果一個顯示控件在第一顯示界面中沒有而在第二顯示界面中有,那么說明是在第二顯示界面中新增加的一個控件,則可以直接加載該顯示控件的屬性;
[0086]步驟404:如果第一顯示控件隊列中的顯示控件在所述第二顯示控件隊列中不存在,則卸載該第一顯示控件隊列中的顯示控件及其屬性;
[0087]在本步驟中再判斷第一顯示控件隊列中的顯示控件是否在所述第二顯示控件隊列中存在,如果不存在,說明第二顯示界面中并沒有該控件,則需要卸載該第一顯示控件隊列中的顯示控件及其屬性。
[0088]需要說明的是,在第一顯示控件隊列和第二顯示控件隊列中顯示控件的比對過程中,先比對第一顯示控件隊列中的所有顯示控件,再比對第二顯示控件隊列中的顯示控件,或者,先比對第二顯示控件隊列中的顯示控件,再比對第一顯示控件隊列中的所有顯示控件,或者,兩個隊列中的顯示控件隨機進行比對,在具體實施時都可以任選一種方式執(zhí)行,只需在步驟405之前,將兩個隊列中的顯示控件都比對完成即可,即是步驟401?步驟404的順序可以自主調整,并不限定于本實施例中的描述順序。
[0089]步驟405:當所述第二顯示控件隊列和第一顯示控件隊列的顯示控件比對完畢時,組合第二顯示界面所需的顯示控件以生成第二顯示界面。
[0090]當:當所述第二顯示控件隊列和第一顯示控件隊列的顯示控件比對完畢時,組合那些第二顯示界面所需的顯示控件,具體的可以由底層控件庫對于第二顯示界面所需的顯示控件進行繪制,以生成切換后的第二顯示界面。
[0091]接著返回圖1的實施例,在步驟104中:將當前展示的第一顯示界面切換為所述第二顯示界面進行展示。
[0092]當?shù)诙@示界面繪制完成后,在用戶打開的當前窗口中展示第二顯示界面,以實現(xiàn)將當前展示的第一顯示界面切換為所述第二顯示界面進行展示的目的。
[0093]采用本申請實施例,因為屬性配置文件是預先配置好的,所以再切換時直接加載屬性配置文件即可,就無需先關閉一個再創(chuàng)建另一個界面,也就不會因為對于界面的反復操作而影響計算機系統(tǒng)的性能,進一步的也改善了界面切換存在的停頓感從而提升了用戶體驗。同時,也不再需要界面代碼來實現(xiàn)界面切換,避免了維護這些結構復雜的代碼而導致成本高的結果。
[0094]進一步的,界面切換的實現(xiàn),實際上由底層控件庫在同一個窗口中作切換,所以對于計算機系統(tǒng)的資源占用較少,并且界面切換性能也比現(xiàn)有技術更優(yōu)越。
[0095]在本申請實施例中,顯示界面位于用戶可見的上層界面展示層,而實施技術方案的底層控件庫則是用戶不可見的,參考圖5,示出了顯示界面的開發(fā)和底層控件庫的關系。
[0096]對于前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請并不受所描述的動作順序的限制,因為依據本申請,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本申請所必須的。
[0097]與上述本申請一種動態(tài)切換界面的方法實施例所提供的方法相對應,參見圖6,本申請還提供了一種動態(tài)切換界面的裝置實施例,在本實施例中,該裝置可以包括:
[0098]配置模塊600,用于預先配置第一顯示界面的第一屬性配置文件,以及第二顯示界面的第二屬性配置文件,所述屬性配置文件用于表示顯示界面的顯示屬性。
[0099]獲取模塊601,用于當接收到從當前展示的第一顯示界面切換至第二顯示界面的切換指令時,獲取所述第二顯示界面的第二屬性配置文件。
[0100]其中,所述第一顯示界面和第二顯示界面位于同一個窗口中。
[0101]參考圖7,圖7為獲取模塊601的結構框圖,具體可以包括:
[0102]第二獲取子模塊701,用于依據所述切換指令獲取所述第二屬性配置文件的存儲路徑;
[0103]讀取子模塊702,用于從所述存儲路徑指示的存儲空間中讀取所述第二屬性配置文件。
[0104]加載模塊602,用于依據所述第二屬性配置文件與所述第一屬性配置文件的顯示控件之間的差異,加載所述第二顯示界面。
[0105]參考圖8,圖8為加載模塊602的結構框圖,具體可以包括:
[0106]第一獲取子模塊801,用于獲取所述第二屬性配置文件中配置的第二顯示界面的所有顯示控件作為第二顯示控件隊列,以及獲取第一顯示界面的所有顯示控件作為第一顯示控件隊列;
[0107]生成子模塊802,用于依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的差異比較結果,生成所述第二顯示界面。
[0108]參考圖9,為生成子模塊702的結構框圖,具體可以包括:
[0109]判斷子模塊901,用于依次判斷所述第二顯示控件隊列中的顯示控件是否在所述第一顯不控件隊列中存在;
[0110]替換子模塊902,用于在所述判斷子模塊的結果為是的情況下,將該第二顯示控件隊列中的顯示控件的屬性替換所述第一顯示控件隊列中對應的顯示控件的屬性;
[0111]加載子模塊903,用于在所述判斷子模塊的結果為否的情況下,直接加載所述當前顯示控件的屬性;
[0112]卸載子模塊904,應用于如果第一顯示控件隊列中的顯示控件在所述第二顯示控件隊列中不存在,卸載該第一顯示控件隊列中的顯示控件及其屬性;
[0113]組合子模塊905,用于當所述第二顯示控件隊列和第一顯示控件隊列的比對完畢時,組合第二顯示界面所需的顯示控件以生成第二顯示界面。
[0114]切換模塊603,用于將當前展示的第一顯示界面切換為所述第二顯示界面進行展
/Jn ο
[0115]采用本申請實施例,因為屬性配置文件是預先配置好的,所以再切換時直接加載屬性配置文件即可,就無需先關閉一個再創(chuàng)建另一個界面,也就不會因為對于界面的反復操作而影響計算機系統(tǒng)的性能,進一步的也改善了界面切換存在的停頓感從而提升了用戶體驗。同時,也不再需要界面代碼來實現(xiàn)界面切換,避免了維護這些結構復雜的代碼而導致成本高的結果。
[0116]進一步的,界面切換的實現(xiàn),實際上由底層控件庫在同一個窗口中作切換,所以對于計算機系統(tǒng)的資源占用較少,并且界面切換性能也比現(xiàn)有技術更優(yōu)越。
[0117]需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0118]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或
者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,
并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0119]以上對本申請所提供的一種動態(tài)切換界面的方法和裝置進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據本申請的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
【權利要求】
1.一種動態(tài)切換界面的方法,其特征在于,預先配置第一顯示界面的第一屬性配置文件,以及第二顯示界面的第二屬性配置文件,所述屬性配置文件用于表示顯示界面的顯示屬性;該方法包括: 當接收到從當前展示的第一顯示界面切換至第二顯示界面的切換指令時,獲取所述第二顯示界面的第二屬性配置文件; 依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,加載所述第二顯示界面; 將當前展示的第一顯示界面切換為所述第二顯示界面進行展示。
2.根據權利要求1所述的方法,其特征在于,所述依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,加載所述第二顯示界面,包括: 獲取所述第二屬性配置文件中配置的第二顯示界面的所有顯示控件作為第二顯示控件隊列,以及獲取第一顯示界面的所有顯示控件作為第一顯示控件隊列; 依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的屬性差異,生成所述第二顯示界面。
3.根據權利要求2所述的方法,其特征在于,依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的屬性差異,生成所述第二顯示界面,包括: 依次判斷所述第二顯示控件隊列中的顯示控件是否在所述第一顯示控件隊列中存在,如果是,則用該第二 顯示控件隊列中的顯示控件的屬性替換所述第一顯示控件隊列中對應的顯示控件的屬性,如果否,則直接加載所述當前顯示控件的屬性; 如果第一顯示控件隊列中的顯示控件在所述第二顯示控件隊列中不存在,則卸載該第一顯示控件隊列中的顯示控件及其屬性; 當所述第二顯示控件隊列和第一顯示控件隊列的顯示屬性的差異比對完畢時,組合第二顯示界面所需的顯示控件以生成第二顯示界面。
4.根據權利要求1所述的方法,其特征在于,所述獲取所述第二顯示界面的第二屬性配置文件,包括: 依據所述切換指令獲取所述第二屬性配置文件的存儲路徑; 從所述存儲路徑指示的存儲空間中讀取所述第二屬性配置文件。
5.根據權利要求1~4任一項所述的方法,其特征在于,所述第一顯示界面和第二顯示界面位于同一個窗口中。
6.一種動態(tài)切換界面的裝置,其特征在于,該裝置包括: 配置模塊,用于預先配置第一顯示界面的第一屬性配置文件,以及第二顯示界面的第二屬性配置文件,所述屬性配置文件用于表示顯示界面的顯示屬性; 獲取模塊,用于當接收到從當前展示的第一顯示界面切換至第二顯示界面的切換指令時,獲取所述第二顯示界面的第二屬性配置文件; 加載模塊,用于依據所述第二屬性配置文件與所述第一屬性配置文件的顯示屬性之間的差異,加載所述第二顯示界面; 切換模塊,用于將當前展示的第一顯示界面切換為所述第二顯示界面進行展示。
7.根據權利要求6所述的裝置,其特征在于,所述加載模塊包括: 第一獲取子模塊,用于獲取所述第二屬性配置文件中配置的第二顯示界面的所有顯示控件作為第二顯示控件隊列,以及獲取第一顯示界面的所有顯示控件作為第一顯示控件隊列; 生成子模塊,用于依據所述第一顯示控件隊列和第二顯示控件隊列中顯示控件的屬性差異,生成所述第二顯示界面。
8.根據權利要求7所述的裝置,其特征在于,所述生成子模塊包括: 判斷子模塊,用于依次判斷所述第二顯示控件隊列中的顯示控件是否在所述第一顯示控件隊列中存在; 替換子模塊,用于在所述判斷子模塊的結果為是的情況下,用該第二顯示控件隊列中的顯示控件的屬性替換所述第一顯示控件隊列中對應的顯示控件的屬性; 加載子模塊,用于在所述判斷子模塊的結果為否的情況下,直接加載所述當前顯示控件的屬性; 卸載子模塊,應用于如果第一顯示控件隊列中的顯示控件在所述第二顯示控件隊列中不存在,卸載該第一顯示控件隊列中的顯示控件及其屬性; 組合子模塊,用于當所述第二顯示控件隊列和第一顯示控件隊列的比對完畢時,組合第二顯示界面所需的顯示控件以生成第二顯示界面。
9.根據權利要求6所述的裝置,其特征在于,所述獲取模塊包括: 第二獲取子模塊,用于 依據所述切換指令獲取所述第二屬性配置文件的存儲路徑; 讀取子模塊,用于從所述存儲路徑指示的存儲空間中讀取所述第二屬性配置文件。
10.根據權利要求6~9任一項所述的裝置,其特征在于,所述第一顯示界面和第二顯示界面位于同一個窗口中。
【文檔編號】G06F9/30GK103809864SQ201210442067
【公開日】2014年5月21日 申請日期:2012年11月7日 優(yōu)先權日:2012年11月7日
【發(fā)明者】湯競雄 申請人:阿里巴巴集團控股有限公司