这个是android里面的dpi决定的..
在android项目里面 有drawable-hdpi, drawable-mdpi,drawable-ldpi. hdpi 是480x800和 480x854size的..mdpi 是320x480的..ldpi是240x320和240x400的...如果你icon.png(100x100大小的)这个图片放在hdpi里面 而在其他的包里面是没有的话..那么你是320x480的读到的icon 会是 (160/240)*100的大小的.这里就是..就是按照某个比例(160/240)等比例缩小多少然后给你.
这里我理解说一下.你上面的图标为啥就变大了..为啥又变小这个就是由一个dpi来决定的..
240的dpi是 120;
320的dpi是 160;
480的dpi是 240; ( 480x854,540x960也是这个dpi)
720的dpi是 320;
1080的这个我没有研究过来.所以不是很清楚dpi具体是多少.
上面我说的包是 比较旧的android项目的
你新建4.0的项目会多一个x什么的包 - -我忘记了.
在运行时,程序为最佳显示效果提供了三种方法:
1.图片缩放
基于当前屏幕的 精度,平台自动加载任何未经缩放的限定尺寸和精度的图片。如果图片不匹配,平台会加载默认资源并且在放大或者缩小之后可以满足当前界面的显示要求。例如, 当前为高精度屏幕,平台会加载高精度资源(如图片),如果没有,平台会将中精度资源缩放至高精度。
2.自动定义像素尺寸和位置
如果程序不支持多种精度屏幕,平台会自动 定义像素绝对位置和尺寸值等,这样就能保证元素能和精度160的屏幕上一样能显示出同样尺寸的效果。
3.兼 容更大尺寸的屏幕
当前屏幕超过程序所支持屏幕的上限时,定义supports- screens元素,这样超出显示的基准线时,平台在此显示黑色的背景图。例如,WVGA 中精度屏幕上,如程序不支持这样的大屏幕,系统会谎 称是一个320×480的,多余的显示区域会被填充成黑色。
像素还是原来的像素,跟点距有关只是不同的显示器的像素间距(点距)不一样,手机的像素可能更加细腻,电脑的像素或许看起来粗糙些!你以显示大小作为参考,你看到的只是尺寸大小,以像素作为参考,你看到的是像素的数量.平时看到很大,在这两者相差不大的情况下,其实尺寸问题更引人注意,其次才关注其中的细节的数量问题
软件安装之后,手机屏幕上会出现个程序的图片,这个log图标是怎么制定呢?
为了适应不同分辨率,常常需要res目录下drawable-hdpi、drawable-mdpi和drawable-ldpi中分别放置log图片,该图片是png格式,大小分别为:72X72,48X48 和36X36像素。
看一下这个帖子吧
http://blog.csdn.net/arnoldlu/article/details/7916842