Android 屏幕适配

px

pixel的缩写,意为像素,屏幕上的点,通常说的分辨率480*800就是指的像素。 像素是用来计算数码影像的最小单位,均为整数


in

表示英寸,一英寸等于2.54厘米。手机屏幕5(英)寸,就是指屏幕的对角线长度,5*2.54=11.2厘米


dpi

是Dots Per Inch 的缩写,每英寸点数,即每英寸包含的像素个数。比如320*480分辨率的手机,宽2英寸,高3英寸,dpi就等于320/2或者480/3=160dpi。160就是这个手机的dpi


density

屏幕密度,density和dpi的关系是density = dpi/160


dp

即dip,设备独立像素,device independent pixels的缩写,Android特有的单位,dpi = 160 的屏幕上,1dp = 1px


sp

和dp类似,一般用来设置字体大小,可以根据用户的字体大小偏好来缩放


ANDROID Drawable

  • drawable-ldpi (dpi=120, density=0.75)

  • drawable-mdpi (dpi=160, density=1)

  • drawable-hdpi (dpi=240, density=1.5)

  • drawable-xhdpi (dpi=320, density=2)

  • drawable-xxhdpi (dpi=480, density=3)


为每套dpi出一套图片资源增加美工设计工作量,让apk包变很大。

Android sdk'会自动屏幕尺寸选择对应的资源文件进行渲染, 如sdk检测到手机dpi为160的话就会优先到drawable-mdpi文件夹中寻找对应图片资源。但只在xhdpi中有对应的图片资源程序一样可以运行。所以理论上只需提供一种规格的图片资源就可以,如果只提供ldpi规格的图片,大分辨路手机会不清晰,所以需要提供一套需要支持的最大dpi图片,这样即使分辨率小,图片缩小以后依然很清晰。

目前手机市场分辨率集中在720*1080,所以xhdpi在目前来讲是最好的选择。


假如统一使用了xhdpi资源,使用wrap_content 属性时,Android会自动为其他规格dpi屏幕适配,比如在xhdpi中放入120*120px的图片,那么在hdpi屏幕上显示的只有120/2*1.5=90px大小。可以适配。


在xhdpi中放入120*120的图片,宽高直接除以density就得出dp数值,所以wrap_content属性和60dp效果是一样的



版权声明:本文为 stormzhang 原创文章,可以随意转载,但必须在明确位置注明出处!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值