天天看點

多分辨率适配常用目錄

2016年02月03日

Android 手機分辨率的奇葩程度到讓人絕望,令人發指,作為一個Android dev 自然也是不能忽視這個問題的!!!

android

我們可以用多個layout目錄對不同分辨率進行單獨布局,如下:

醬紫:
ldpi:240x320
mdpi:320x480
hdpi:480x800、480x854
xhdpi:至少960×720
xxhdpi:1280×720
      
  1. layout-large-mdpi (1024x600)
  2. layout-large-tvdpi (800x1280)
  3. layout-large-xhdpi (1200x1920)
  4. layout-xlarge-mdpi (1280x800)
  5. layout-xlarge-xhdpi (2560x1600)

或者醬紫:

  1. layout-640x360
  2. layout-800x480

然後與Layout對應的,drawable也是分分辨率的:

  1. res/drawable (default)res/drawable-ldpi/ (240x320 and nearer resolution)
  2. res/drawable-mdpi/ (320x480 and nearer resolution)
  3. res/drawable-hdpi/ (480x800, 540x960 and nearer resolution)
  4. res/drawable-xhdpi/ (720x1280 - Samsung S3, Micromax Canvas HD etc)
  5. res/drawable-xxhdpi/ (1080x1920 - Samsung S4, HTC one, Nexus 5, etc)

使用不同的Layout對應的适配工作量會随之增加,工作中我們使用不同的values來對應layout中的值:

  1. res/values/dimens.xml(default)
  2. res/values-ldpi/dimens.xml (240x320 and nearer resolution)
  3. res/values-mdpi/dimens.xml (320x480 and nearer resolution)
  4. res/values-hdpi/dimens.xml (480x800, 540x960 and nearer resolution)
  5. res/values-xhdpi/dimens.xml (720x1280 - Samsung S3, Micromax Canvas HD, etc)
  6. res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc)
  7. res/values-large/dimens.xml (480x800)
  8. res/values-large-mdpi/dimens.xml (600x1024)
  9. res/values-sw600dp/dimens.xml (600x1024)
  10. res/values-sw720dp/dimens.xml (800x1280)
  11. res/values-xlarge-xhdpi/dimens.xml (2560x1600 - Nexus 10")
  12. res/values-large-xhdpi/dimens.xml (1200x1920 - Nexus 7"(latest))

----------------------------華麗的分隔線---------------------------

密度:

ldpi 120dpi 0.75

mdpi 160dpi 1

hdpi 240dpi 1.5

xhdpi 320dpi 2

繼續閱讀