android 获取控件坐标是dp还是px
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)
举例看来看看,首先在界面上布局两个button,设置两个两个button离左边的举例一个是50dp,一个是50px。
用480*800的模拟器来运行。发现这两个按钮离左边屏幕的距离没有差别。
再用270*320的模拟器来运行,发现上面的按钮离左边屏幕的距离更近了。
如果用尺子来量,我们能发现px是固定的,距离没有变,而dp则改变了。这样就能看出它们的差别了。
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)
举例看来看看,首先在界面上布局两个button,设置两个两个button离左边的举例一个是50dp,一个是50px。
用480*800的模拟器来运行。发现这两个按钮离左边屏幕的距离没有差别。
再用270*320的模拟器来运行,发现上面的按钮离左边屏幕的距离更近了。
如果用尺子来量,我们能发现px是固定的,距离没有变,而dp则改变了。这样就能看出它们的差别了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |