多语言展示
当前在线:622今日阅读:67今日分享:39

图解android开发中dp和px的区别:[8]

在android开发布局界面的时候经常要设置控件的位置,这样就不得不用到dp和px这两个单位,这两个单位有什么区别,来举例说明一下。
工具/原料
1

android

2

eclipse

方法/步骤
1

px: pixels(像素),不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。dp也是dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用此单位。    这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有正确设置比如说还是160,那么这个时候凡是使用dip的都会显示异常,基本都是显示过小。     dip的换算:           dip(value)=(int) (px(value)/1.5 + 0.5)

2

举例看来看看,首先在界面上布局两个button,设置两个两个button离左边的举例一个是50dp,一个是50px。

3

用480*800的模拟器来运行。发现这两个按钮离左边屏幕的距离没有差别。

4

再用270*320的模拟器来运行,发现上面的按钮离左边屏幕的距离更近了。

5

如果用尺子来量,我们能发现px是固定的,距离没有变,而dp则改变了。这样就能看出它们的差别了。

推荐信息