前言
在android 里面drawable里面是放置像素密码最低的资源。drawable-xhdpi对应像素密度为720*1280,drawable-hdpi像素密度为480*800 。在dp和px 转换关系中,如果当前分辨率为xhdpi ,那么1dp=2px。如果当前分辨率为hdpi ,那么1dp=1.5px .所以在设计图片建议是采用xhdpi分辨率设计素材,这样既方便单位换算也简化素材到各个分辨率素材的转换.
屏幕适配
1. 找寻
假若当前屏幕分辨率为hdpi, ImageView的src属性指定了"a.jpg"这个图片。首先系统会在drawable-hdpi这个文件夹找a.jpg 的图片,如果没有找到,会往更高的分辨率查找drawable-xhdpi->drawable->xxhdpi......。如果在最高分辨率的文件夹还是没有找到,那么再从比drawable-hdpi分辨率低的文件夹查找drawable-mdpi->drawable-ldp
2. 将xhdpi图片放到hdpi文件下,图片将会被放大
如果当前分辨率为xhdpi,倘若a.jpg 在xhdpi 文件夹下能够正常显示,但是如果把a.jpg移动到hdpi 下面,这个时候a.jpg会被放大。 那是因为系统会认为你这张图是专门为低密度的设备所设计的,如果直接将这张图在当前的高密度设备上使用就有可能会出现像素过低的情况,于是系统自动帮我们做了这样一个放大操作。