在Android系统中的资源目录中有个drawable目前。其中又分为drawable,drawable-hdpi,drawable-xdpi等。在加上px,dpi,dip等概念以及android系统琳琅满目的分辨率,使人迷惑不解。其实不必过分纠结在概念之中,通过android自建系统的icon突变,就可以窥见一斑。
首先何种机型属于hdpi,何种机型属于xdpi属于android自行定义。比如htc-g10属于hdpi,三星note2属于xdpi。至于为什么这么区分,网上有dpi的教程,再参照android定义,即可明了。现在我们只需记住某款机型属于何种dpi就可以。
定义1:一个图片如果放在机型对应的dpi中,则图片保持原大小。
比如一张图片是80像素宽,如果放在drawable-hdpi中,并横排排列,在htc-g10中存放6个(htc分辨率为480*800)。如果在一个分辨率为496*800的hdpi机器上呢,对,会存放6个还会富裕16像素。
定义2:一个图片如果没有放在机型对应的dpi中,则图片进行缩放。
定义3:图片缩放原则参照系统自建的icon图标。
比如系统自建时mdpi图标是48*48 hdpi图标是72*72 xdip图标是96*96。
以note2为例,note2属于xdpi,如果一张图片是80像素宽,放在drawable-hdpi中,他引用时要放大1.33倍(96/72=1.33),也就是说图片变成了106像素款。横排排放的话,可以放6个多(note2的分辨率是720*1280)。
当然如果同样图片被移动到drawable-xdpi,横排就可以放下9个了。
定义4:drawable目录等同于drawable-mdpi。
最后祝andorid之旅愉快。