- ldpi (low) ~120dpi 0.75
- mdpi (medium) ~160dpi 1
- hdpi (high) ~240dpi 1.5
- xhdpi (extra-high) ~320dpi 2
- xxhdpi (extra-extra-high) ~480dpi 3
- xxxhdpi (extra-extra-extra-high) ~640dpi 4
Note: You only need to provide density-specific drawables for bitmap files (.png
, .jpg
, or .gif
) and Nine-Patch files (.9.png
). If you use XML files to define shapes, colors, or other drawable resources, you should put one copy in the default drawable directory (drawable/
).
To create alternative bitmap drawables for different densities, you should follow the 3:4:6:8:12:16 scaling ratio between the six generalized densities. For example, if you have a bitmap drawable that's 48x48 pixels for medium-density screens, all the different sizes should be:
- 36x36 (0.75x) for low-density
- 48x48 (1.0x baseline) for medium-density
- 72x72 (1.5x) for high-density
- 96x96 (2.0x) for extra-high-density
- 180x180 (3.0x) for extra-extra-high-density
- 192x192 (4.0x) for extra-extra-extra-high-density (launcher icon only; see note above)
当我们把一个图片资源放入其中一个drawble-xx的文件夹中时,
那么,
加载到内存中的图片尺寸 = 实际尺寸*当前dpi/图片所在的Dpi
比如
手机dpi = 240(对应目录hdpi)
图片的实际宽和高 分别为 1600,1200
以宽度举例
将图片放入drawable-mdpi目录里加到内存后是 2400*1800 1600*1.5/1
将图片放入drawable-hdpi目录里加到内存后是 1600*1200 1600*1.5/1.5
将图片放入
drawable-xhdpi目录里加到内存后是
1200*900 1600*1.5/2
将图片放入drawable-xxhdpi目录里加到内存后是800*600 1600*1.5/3
将图片放入drawable目录里加到内存后是 1600*1200 1600
将图片放入drawable-nodpi目录里加到内存后是1600*1200 1600
图片放在drawable中,等同于放在drawable-mdpi中,原因为:drawable目录不具有屏幕密度特性,所以采用基准值,即mdpi
参考:本地文档 file:///F:/AndroidSDK/docs/guide/practices/screens_support.html