android3.2以后,為了提供更精准的對布局文件的控制,可以通過為資源文件(res目錄下文件)增加后綴來指定該文件夾里的xml布局文件或color.xml,string.xml是為哪種大小的屏幕使用。

第一種后綴:swdp,如layout-sw600dp, values-sw600dp

這里的sw代表smallwidth的意思,當你所有屏幕的最小寬度都大於600dp時,屏幕就會自動到帶sw600dp后綴的資源文件里去尋找相關資源文件,這里的最小寬度是指屏幕寬高的較小值,每個屏幕都是固定的,不會隨着屏幕橫向縱向改變而改變。

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

第二種后綴wdp 如layout-w600dp, values-w600dp

帶這樣后綴的資源文件的資源文件制定了屏幕寬度的大於Ndp的情況下使用該資源文件,但它和swdp不同的是,當屏幕橫向縱向切換時,屏幕的寬度是變化的,以變化后的寬度來與N相比,看是否使用此資源文件下的資源。

第三種后綴hdp 如layout-h600dp, values-h600dp

這個后綴的使用方式和wdp一樣,隨着屏幕橫縱向的變化,屏幕高度也會變化,根據變化后的高度值來判斷是否使用hdp ,但這種方式很少使用,因為屏幕在縱向上通常能夠滾動導致長度變化,不像寬度那樣基本固定,因為這個方法靈活性不是很好,google官方文檔建議盡量少使用這種方式。

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

82ef2129d79e96a83b6d7cc775759e7d.png

需要去掉虛擬鍵盤。

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

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐