android3.2以後,爲了提供更精準的對佈局文件的控制,可以通過爲資源文件(res目錄下文件)增加後綴來指定該文件夾裏的xml佈局文件或color.xml,string.xml是爲哪種大小的屏幕使用。
第一種後綴:sw<N>dp,如layout-sw600dp, values-sw600dp這裏的sw代表smallwidth的意思,當你所有屏幕的最小寬度都大於600dp時,屏幕就會自動到帶sw600dp後綴的資源文件裏去尋找相關資源文件,這裏的最小寬度是指屏幕寬高的較小值,每個屏幕都是固定的,不會隨着屏幕橫向縱向改變而改變。
注意容易出錯的地方:屏幕寬高有的平板系統是包含屏幕的虛擬按鍵的高度的,有的是不包含屏幕虛擬按鍵高度的。
帶這樣後綴的資源文件的資源文件制定了屏幕寬度的大於Ndp的情況下使用該資源文件,但它和sw<N>dp不同的是,當屏幕橫向縱向切換時,屏幕的寬度是變化的,以變化後的寬度來與N相比,看是否使用此資源文件下的資源。
這個後綴的使用方式和w<N>dp一樣,隨着屏幕橫縱向的變化,屏幕高度也會變化,根據變化後的高度值來判斷是否使用h<N>dp ,但這種方式很少使用,因爲屏幕在縱向上通常能夠滾動導致長度變化,不像寬度那樣基本固定,因爲這個方法靈活性不是很好,google官方文檔建議儘量少使用這種方式。
舉例華爲x2平板7寸 型號GEM-703L 屏幕寬高1920x1200,虛擬按鍵狀態欄佔用70px
需要去掉虛擬鍵盤。
可以在values-sw480dp的dimens.xml設置尺寸適配此平板。
橫屏模式下可以在values-w732dp-land的dimens.xml設置尺寸適配此平板。