布局顯示方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明屬于計算機技術領域,具體是涉及一種布局顯示方法和裝置。
【背景技術】
[0002]在用戶終端比如手機上,當我們打開一個應用,會看到在終端屏幕即用戶界面上顯示出諸如文本,圖片等數(shù)據(jù)內(nèi)容。這些數(shù)據(jù)內(nèi)容以什么樣的顯示方式進行顯示,一般會被描述在一個布局文件中,這個布局文件一般是一個xml文件。該布局文件中首先要聲明至少一個布局管理器,該布局管理器也可以簡稱為布局,一個用戶界面上可以同時包括多個布局,即多個布局可以嵌套使用,而且,每個布局中還包含多個控件,比如用于顯示文字的文本控件,用于顯示圖片的圖像控件等等。每一個布局都會有自己的一些屬性和顯示控件的方法,比如在布局文件中描述某個布局的長,寬,這個布局里面包含的各控件在該布局中的位置、大小以及其他顯示形式等等。
[0003]目前,用戶終端的屏幕尺寸顯示多樣性的特點,使得包含相同數(shù)據(jù)內(nèi)容的一個應用的布局在不同的用戶終端上很可能有不同的顯示效果。如何使布局自適應不同屏幕尺寸的用戶終端成為一個亟待解決的問題。目前,一種解決方案是,針對每種屏幕尺寸,分別提供一種布局,即布局與屏幕尺寸具有對應性。
[0004]上述這種為不同屏幕尺寸的用戶終端分別提供不同的布局的方式,雖然一定程度上解決了布局自適應不同終端屏幕尺寸的問題。但是,隨著用戶終端屏幕尺寸的不斷更新,各種應用程序的不斷出現(xiàn),將會存在大量不同的布局,從而將導致不能很好的實現(xiàn)布局對不同屏幕尺寸用戶終端的自適應性,且實現(xiàn)自適應的代價較高。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術中存在的問題,本發(fā)明提供一種布局顯示方法和裝置,用以克服現(xiàn)有技術中不能很好的實現(xiàn)布局自適應不同屏幕尺寸的用戶終端的缺陷。
[0006]本發(fā)明提供了一種布局顯示方法,包括:
[0007]獲取目標用戶終端的屏幕尺寸和待顯示布局中根布局的尺寸,所述待顯示布局為多級嵌套結(jié)構(gòu),所述多級嵌套結(jié)構(gòu)中的最外層布局為所述根布局;
[0008]根據(jù)所述目標用戶終端的屏幕尺寸和所述根布局的尺寸,確定所述待顯示布局在所述目標用戶終端的屏幕上的顯示比例;
[0009]根據(jù)所述顯示比例和所述待顯示布局對應的布局文件中描述的所述待顯示布局的屬性信息顯示所述待顯示布局。
[0010]本發(fā)明提供了一種布局顯示裝置,包括:
[0011]獲取模塊,用于獲取目標用戶終端的屏幕尺寸和待顯示布局中根布局的尺寸,所述待顯示布局為多級嵌套結(jié)構(gòu),所述多級嵌套結(jié)構(gòu)中的最外層布局為所述根布局;
[0012]確定模塊,用于根據(jù)所述目標用戶終端的屏幕尺寸和所述根布局的尺寸,確定所述待顯示布局在所述目標用戶終端的屏幕上的顯示比例;
[0013]顯示模塊,用于根據(jù)所述顯示比例和所述待顯示布局對應的布局文件中描述的所述待顯示布局的屬性信息顯示所述待顯示布局。
[0014]本發(fā)明提供的布局顯示方法和裝置,通過獲取目標用戶終端的屏幕尺寸和待顯示布局中根布局的尺寸,能夠根據(jù)目標用戶終端的屏幕尺寸和根布局的尺寸,確定待顯示布局在目標用戶終端的屏幕上的顯示比例,進而根據(jù)該顯示比例和待顯示布局對應的布局文件中描述的待顯示布局的屬性信息顯示該待顯示布局。當某布局需要在不同的用戶終端屏幕上進行顯示的時候,以該布局中根布局的尺寸相對于不同終端屏幕尺寸的相對比例大小,來確定該布局在不同用戶終端屏幕上的顯示形式,再結(jié)合該布局的布局文件中描述的屬性信息來在不同用戶終端屏幕上顯示該布局,無需為不同用戶終端預先適配不同布局,能夠高效、便捷地實現(xiàn)布局自適應不同屏幕尺寸的用戶終端。
【附圖說明】
[0015]圖1為本發(fā)明布局顯示方法實施例一的流程圖;
[0016]圖2為本發(fā)明布局顯示方法實施例二的流程圖;
[0017]圖3為本發(fā)明布局顯示裝置實施例一的結(jié)構(gòu)示意圖;
[0018]圖4為本發(fā)明布局顯示裝置實施例二的結(jié)構(gòu)示意圖。
【具體實施方式】
[0019]圖1為本發(fā)明布局顯示方法實施例一的流程圖,如圖1所示,本實施例提供的所述方法適用于各種用戶終端,尤其適用于基于android系統(tǒng)的手機終端,該方法可以由一個布局顯示裝置來執(zhí)行,該裝置可以集成設置在用戶終端中,該方法具體包括如下步驟:
[0020]步驟101、獲取目標用戶終端的屏幕尺寸和待顯示布局中根布局的尺寸,所述待顯示布局為多級嵌套結(jié)構(gòu),所述多級嵌套結(jié)構(gòu)中的最外層布局為所述根布局;
[0021]步驟102、根據(jù)所述目標用戶終端的屏幕尺寸和所述根布局的尺寸,確定所述待顯示布局在所述目標用戶終端的屏幕上的顯示比例;
[0022]步驟103、根據(jù)所述顯示比例和所述待顯示布局對應的布局文件中描述的所述待顯示布局的屬性信息顯示所述待顯示布局。
[0023]一般Android系統(tǒng)的用戶終端會有相對布局(Relative Layout)、表格布局(Table Layout)、線性布局(Linear Layout)絕對布局(Absolute Layout)和巾貞布局(FrameLayout)幾種。每種布局都有其自身的屬性,以及顯示其中包含的各個控件的方法。本實施例提供的所述方法的實施前提是,用戶終端中運行的各個應用程序,已經(jīng)定義了該應用程序中包含的諸如文字、圖片等數(shù)據(jù)內(nèi)容的顯示形式,即布局,而且該布局已經(jīng)描述在了相應的布局文件中。
[0024]而且,一般來說,一個應用程序的數(shù)據(jù)內(nèi)容一般是通過多個布局嵌套在一起來呈現(xiàn)的,從而能夠獲得更加豐富、生動、形象的顯示效果。也就是說,布局是可以嵌套使用的,本實施例中所述的待顯示布局既可以是單一的上述幾種布局中的一種,也可以是多種的嵌套,比如表格布局中的某個表格中嵌套了線性布局等等,從而,在待顯示布局為多個布局嵌套使用的時候,該待顯示布局便構(gòu)成了一種多級嵌套的結(jié)構(gòu),該結(jié)構(gòu)的最外層或者說是最上層的布局稱為根布局,該根布局嵌套的下一層布局成為該根布局的子布局,依次類推,該多級結(jié)構(gòu)的最內(nèi)層或者成為最低層布局稱為葉子布局,該葉子布局中包含了各個控件,t匕如文本控件、圖像控件等。
[0025]每個待顯示布局對應的布局文件中比如描述了根布局的大小、當其顯示在終端屏幕上的時候應該距離該屏幕邊緣的各向邊距等屬性信息,其中,各向邊距是指上邊距、下邊距、左邊距和右邊距。還描述了比如子布局的大小、位置、相對于其所屬的上一級布局的各向間距等屬性信息,還描述了各個控件的屬性信息,比如大小、位置,顏色、類型、字體等信肩、Ο
[0026]本實施例中,當待顯示布局需要在某個目標用戶終端的屏幕上進行顯示的時候,首先,需要獲得該目標用戶終端的屏幕尺寸和該待顯示布局的根布局的尺寸。實際中,該待顯示布局的根布局的尺寸可以通過讀取布局文件中所描述的該待顯示布局的屬性信息獲得,該目標用戶終端的屏幕尺寸可以記錄在該終端的某個終端屬性文件中,通過讀取該屬性文件來獲得該屏幕尺寸。
[0027]進而,根據(jù)目標用戶終端的屏幕尺寸和根布局的尺寸,確定待顯示布局在所述目標用戶終端的屏幕上的顯示比例,并根據(jù)該顯示比例和待顯示布局對應的布局文件中描述的該待顯示布局的屬性信息顯示待顯示布局。具體地,為了保證待顯示布局在不同屏幕尺寸的用戶終端中進行顯示的效果具有較佳用戶體驗,需要使得該待顯示布局在比如小屏幕尺寸的用戶終端中的顯示形式和在大屏幕尺寸的用戶終端上的顯示形式比較相似,不能因為屏幕尺寸的變化導致顯示效果出現(xiàn)太大差異。因此,本實施例中以待顯示布局中的根布局的尺寸為依據(jù),結(jié)合獲得的目標用戶終端的屏幕尺寸,得到該根布局尺寸相對于屏幕尺寸的相對顯示比例,從而以該顯示比例和待顯示布局的布局文件中描述的該待顯示布局的屬性信息來最終顯示待顯示布局。
[0028]本實施例中,由于待顯示布局中的根布局相當于限制了其中包含的各個子布局以及控件的最大顯示范圍,而且布局文件中描述的屬性信息中也描述了各子布局以及各控件相對于根布局的屬性信息,比如相對大小、位置等。因此,僅可以以該根布局的尺寸為依據(jù),來確定待顯示布局在目標用戶終端屏幕上的顯示比例即可。而且,該顯示比例即限制了根布局乃至待顯示布局在目標用戶終端屏幕上的顯示范圍,即該跟布局也是待顯示布局應該占目標用戶終端屏幕的面積大小,而該根布局應該在目標用戶終端屏幕上什么位置進行顯示,即距離屏幕邊緣的各向邊距,可以通過布局文件中描述的該根布局的屬性信息確定。當該根布局在目標用戶終端屏幕上的顯示位置以及顯示范圍確定后,其他子布局以及控件的顯示,在一種理想的情況下,即全屏顯示的情況下,僅需根據(jù)自適應顯示的根布局的屬性信息與布局文件中描述的其他子布局和控件的屬性信息的相對屬性值來確定即可,無需再按照上述顯示比例調(diào)整子布局和控件的顯示形式。