Android屏幕適配簡單總結:
(1)儘量使用自適應寬高尺寸參數-warp_content、match_parent和weight屬性
(2)儘量使用相對佈局
(3)使用尺寸限定符(參考附圖)
(4)屏幕方向限定符(a.land-橫屏; b.port-豎屏)
(5)寬高使用dp,而不是px
(6)把項目中所使用的尺寸,都定義在dimen.xml中統一管理
(7)使用佈局別名
(i)我們以res/values/dimens.xml尺寸文件爲例,layout等其他文件夾和values同樣適用。如下:
<dimen name="width">100dp</dimen>
<dimen name="width_sw600">600dp</dimen>
(ii)分別建立res/values-sw600dp/dimens.xml和res/values-large/dimens.xml並寫入:
<item name="width" type="dimen">@dimen/width_sw600</item>
(iii)這樣在程序運行中,如果當前手機的寬度大於600dp,則 R.dimen.width = 600dp,否則取值爲100dp。
(8)最小寬度限定符,在Android 3.2版本引入的(如:values-sw600dp/layout-sw480dp)
(9)使用自動拉伸位圖(.9PNG)
注:
尺寸限定符,屏幕方向限定符以及最小寬度限定符可以結合使用!!!
使用形式如下:
* res/values-sw600dp-port/
* res/values-large-land/
不同像素密度下和dimen的取值表:
名稱 | 像素密度取值範圍 |
---|---|
mdpi | 120dpi ~ 160dpi |
hdpi | 160dpi ~ 240dpi |
xhdpi | 240dpi ~320dpi |
xxhdpi | 320dpi ~ 480dpi |
xxxhdpi | 4800dpi~640dpi |