android UI开发中px和dip的相关概念区分

来源:互联网 发布:android 修改mac 编辑:程序博客网 时间:2024/05/16 06:58
dip不是像素密度,像素密度是dpi,引用句原话dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。好了,入正题吧,先说说px,px就是像素,如果用px,就会用实际像素画,比个如吧,用画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。所以你的问题就解开了:问题1:为什么代码中,我写的 单位px和dip在同一模拟器里面的表示相同?不是说dip!=px的么?答:如果你的模拟器的宽是320个像素,100dip和 100px是一样的。问题2:为什么模拟器1和模拟器2的运行结果 长度不一致?好像模拟器1的长度更长一点(因为模拟器1把512的显示全了)答:你可能两个模拟器的宽高不一样,所以dip显示的部分就不一样了。
http://blog.sina.com.cn/s/blog_9d708b4f01015lz8.html