关闭

Android dip/dp、px等的关系

1761人阅读 评论(0) 收藏 举报

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



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7678次
    • 积分:147
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类