Android dip/dp、px等的关系

dip,dp, px, sp, dpi, width, height的解释及用法

width   屏幕水平方向能摆放的像素点数,称为分辨率(width*height)

height 屏幕垂直方向能摆放的像素点数,称为分辨率(width*height)

dip/dp (device independent pixels)  设备独立像素,与屏幕设备无关; 谷歌引用的一个单位,用于适应不同分辨率的终端设备;

px(pixels)  像素,屏幕的实际像素点单位;

sp(scaled pixels)  一般用于字体

dpi(dot per inch)  每一英寸的点数


手机上默认的正常的dpi为160,电脑的一般为96dpi,即一英寸里有160个点;若设备屏幕的固定物理尺寸为3.5,而屏幕分辨率越大,则dpi越高;

dpi = width/物理宽(height/物理高)

density = dpi/160    (见DisplayMetrics.java里的 density = DENSITY_DEVICE / (float) DENSITY_DEFAULT;)

dip/dp与px的换算公式: px = dip * density


手机默认的dpi为160,如果想设置其他的dpi,可以通过设置配置文件改变的dpi值:

可在源码的build\tools\buildinfo.sh中加入echo  "ro.sf.lcd_density=你想设置的值(如200)"

或者设置qemu.sf.lcd_density的值,都可改变dpi

系统会根据DisplayMetrics.java里的getDeviceDensity来获取dpi的值;


应用工程中的xdpi, hdpi,mdpi,ldpi对应的就是DisplayMetrics.java里的DENSITY_XHIGH = 320, DENSITY_HIGH=240, DENSITY_MEDIUM=160,DENSITY_LOW=120



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值