遇到的问题:
1、背景:当应用只提供一张图片时;
2、安卓中的尺寸专业术语:
(1)、屏幕尺寸:屏幕对角线的测量
(2)、屏幕密度(dpi):屏幕占据的物理区域的所包含的像素个数;
(3)、分辨率:屏幕上物理像素的个数(240px*400px的屏幕:横纵线组成);
(4)、屏幕清晰度:决定屏幕清晰度的是单位物理长度的像素数,也就是上面所说的屏幕密度。
3、dip:
Android规定一个dip的大小相当于160dpi屏幕上的一个像素,它是系统为“中等的”密度屏设定的基准密度,在不同dpi屏幕上dp对应的像素数是不同的。
==》需要时,基于当前屏的实际密度,系统会透明地放缩dip单
—》dip和px不同,一个固定的图片,在不同屏幕密度的手机中,图片显示的像素也会随之自适应,而px不会!!!
*案例:
尺寸:2、3、4(120dpi、160dpi、240dpi)-360px*480px、480px*640px
将三个手机屏幕的宽分为三等份,则根据dpi的定义,
三个屏幕中每等份分别容纳120px、160px、240px
**实验:控件imageview 它的长宽分别为160px、160px,还有一个160px*160px的图片资源
修改:imageview的长宽分别改为160dip、160dip
4、问题:
没有指出图片对应的控件的大小;
若只有drawable下的图片:则所以在hdpi屏幕上系统会按比例将drawable下的图片扩大为原来的1.5倍,在ldpi屏幕上系统会按比例将drawable下的图片缩小为原来的0.75倍
安卓项目的res结构:drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawable-xxhdpi。在这些文件下提供的图片大小最好是3:4:6:8:12;
规则:
解决方式:
1、盛放图片的控件要用dip单位来定义其长宽。
2、 最好在ldpi、mdpi、hdpi、xhdpi、xxhdpi文件夹下提供大小比例为3:4:6:8:12的图片。
3、当然如果有质量好的.9.png图片的话,提供一个也可以。