1. 程式人生 > >android之螢幕適配(三)實踐dimens.xml尺寸適配不同的平板

android之螢幕適配(三)實踐dimens.xml尺寸適配不同的平板

android3.2以後,為了提供更精準的對佈局檔案的控制,可以通過為資原始檔(res目錄下檔案)增加字尾來指定該資料夾裡的xml佈局檔案或color.xml,string.xml是為哪種大小的螢幕使用。

第一種字尾:sw<N>dp,如layout-sw600dp, values-sw600dp

這裡的sw代表smallwidth的意思,當你所有螢幕的最小寬度都大於600dp時,螢幕就會自動到帶sw600dp字尾的資原始檔裡去尋找相關資原始檔,這裡的最小寬度是指螢幕寬高的較小值,每個螢幕都是固定的,不會隨著螢幕橫向縱向改變而改變。 

注意容易出錯的地方:螢幕寬高有的平板系統是包含螢幕的虛擬按鍵的高度的,有的是不包含螢幕虛擬按鍵高度的。

第二種字尾w<N>dp 如layout-w600dp, values-w600dp

帶這樣字尾的資原始檔的資原始檔制定了螢幕寬度的大於Ndp的情況下使用該資原始檔,但它和sw<N>dp不同的是,當螢幕橫向縱向切換時,螢幕的寬度是變化的,以變化後的寬度來與N相比,看是否使用此資原始檔下的資源。

第三種字尾h<N>dp 如layout-h600dp, values-h600dp

這個字尾的使用方式和w<N>dp一樣,隨著螢幕橫縱向的變化,螢幕高度也會變化,根據變化後的高度值來判斷是否使用h<N>dp ,但這種方式很少使用,因為螢幕在縱向上通常能夠滾動導致長度變化,不像寬度那樣基本固定,因為這個方法靈活性不是很好,google官方文件建議儘量少使用這種方式。

舉例華為x2平板7寸  型號GEM-703L     螢幕寬高1920x1200,虛擬按鍵狀態列佔用70px


需要去掉虛擬鍵盤。

可以在values-sw480dp的dimens.xml設定尺寸適配此平板。

橫屏模式下可以在values-w732dp-land的dimens.xml設定尺寸適配此平板。