参考资料
A set of six generalized densities:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
要生成这些图片,您应先提取矢量格式的原始资源,然后根据以下尺寸范围针对各密度生成相应的图片。
xhdpi : 2.0
hdpi : 1.5
mdpi : 1.0(最低要求)
ldpi : 0.75
也就是说,如果您为 xhdpi
设备生成了 200x200 尺寸的图片,就应该使用同一资源为 hdpi、mdpi 和 ldpi 设备分别生成 150x150、100x100 和 75x75 尺寸的图片。
然后,将生成的图片文件放在 res/ 下的相应子目录中(如下所示),系统就会根据运行您应用的设备的屏幕密度自动选择合适的图片:
MyProject/
res/
drawable-xhdpi/awesomeimage.png
drawable-hdpi/awesomeimage.png
drawable-mdpi/awesomeimage.png
drawable-ldpi/awesomeimage.png
这样一来,无论您何时引用 @drawable/awesomeimage,系统都能根据相应屏幕的 dpi 选取合适的位图。
用表格来看:
ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi |
---|---|---|---|---|---|---|
0.75 | 1 | 1.33 | 1.5 | 2 | 3 | 4 |
一个例子
Samsung Galaxy Note 8.0 的屏幕数据
203.1 mm (8") WXGA (1280 x 800, 189ppi) TFT
由以上数据可计算验证其 dpi 为 189。
因为 189dpi 小于 200dpi,属 mdpi,所以 1dp = 1px。
ANDROID DP/PX CONVERTER
这个工具太好用了!
这个工具太好用了!
这个工具太好用了!
网友评论