android螢幕適配

2021-07-16 04:36:22 字數 1581 閱讀 2866

1、資源檔案字尾型別

1)、layout-sw720dp

layout-sw720dp, values-sw720dp。sw =smallwidth,當你所有螢幕的最小寬度都大於720dp時,螢幕就會自動到帶sw720dp字尾的資源檔案裡去尋找相關資源檔案,這裡的最小寬度是指螢幕寬高的較小值。

2)、layout-1024x720

固定的尺寸,適用罕見尺寸,或者需要微調的機器;

3)、layout-land-1024x720

layout-land-1024x720,values-land-1024x720,這個是固定為橫向的布局使用,如果是縱向使用layout-port-1024x720。這種固定解析度適用於固定適配特殊裝置的情況。

4)、layout-en-1024x720

當系統語言為英文使用該目錄資源。layout-zh-rcn-1024x720當系統語言為中文使用該目錄資源

2、不同目錄檔案適配原則

1)、drawable

可以在res目錄下建立一系列的帶字尾的drawable資料夾,例如drawable-hdpi,drawable-xhdpi等。drawable的適配機制是,系統會先到字尾與裝置匹配的drawable目錄下找對應的,當找不到的時候會去『更高』一級的目錄去找,再找不到,繼續往高一級的找,再找不到就退而求其次去低一級的找,依次類推。

2)、layout目錄

layout目錄也可以加字尾的,通常是帶解析度字尾,如layout-land-1024x720,layout-1280x720,layout-1920x1080等。layout目錄的適配機制是從「高往低」找最接近的尺寸目錄。

例如手機是1920x1080解析度的,但是如果無此layout目錄那麼便會低一級的layout-1280x720找布局(而不會去高一級的layout-2560x1440找),依次類推,直至找到layout不帶字尾的目錄為止,如果還沒有,就會報錯。

所以考慮以下場景:原本我們的布局檔案目錄只有layout乙個,沒有其他帶字尾的layout目錄,實際測試中發現的布局在960x540手機上有問題。那麼有些人可能會想到加個layout-960x540目錄,然後在此目錄下做特殊處理。那麼問題來了,加了這個目錄之後,layout目錄就有兩個,layout無字尾和layout-960x540。當在1920x1080手機上執行程式時,按照適配機制,系統會使用layout-960x540目錄下的布局檔案,而我們當初的初衷是只希望layout-960x540目錄下的布局檔案在960x540的手機上使用,所以這種情況下布局肯定會有問題。因此,千萬注意上面這種場景,不要隨意新增『layout-解析度』的這種目錄,除非把各種主流解析度都新增一遍。碰到這種問題,最好從dimens檔案入手做適配。

3)、values目錄之dimens檔案

為了適配不同尺寸的手機,我們可以建立多個values目錄,然後在其中定義dimens尺寸,例如values-1280x720,values-1196x720等。dimens適配的機制是,先找跟裝置對應的values目錄下的dimens檔案中的尺寸定義,找不到則往低一級的找。    

總結:2、layout適配過程:找與裝置對應的目錄,找不到則從比裝置解析度低一級的目錄開始依次往下找。

3、values適配過程:同layout。

android螢幕適配

1 配置android應用程式適配在不同的手機上,需要在androidmanifest.xml檔案的manifest標籤中新增子元素 1 2 3 4 5 6 7 8 9 10 manifestxmlns android supports screens android smallscreens tr...

Android螢幕適配

在sdk中的幫助文件中。develpe training best practices supporting multiple screens 這裡有多屏適配的介紹。現做簡單記錄。screen size small 至少 426dp x 320dp normal 至少 470dp x 320dp l...

android螢幕適配

ui在不同的螢幕畫素或大小中顯示效果可能會不同 1 建議使用盡量使用線性布局和相對布局,基本上不會產生螢幕大小不適應的問題 2 設定控制項寬高的時候使用單位dip dp 是根據當前裝置大小比例計算出來的 3 文字設定盡量使用sp單位 4 盡量不使用px設定大小 畫素px和dip相互轉換工具,實現兩種...