发布网友 发布时间:2022-04-20 09:38
共2个回答
热心网友 时间:2022-05-13 05:53
不能换算,dp和px不是同类型的数量单位。
1、dp
DP,全称device independent pixels,中文是设备像素,是长度单位。
DP在不同设备有不同的显示效果,这个和设备硬件有关。
2、px
PX是Pixel的缩写,中文是像素,是指基本原色素及其灰度的基本编码,由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调。
像素的大小是会“变”的,也称为“相对长度”。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。
扩展资料:
设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。
如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。
那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。
系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。
参考资料来源:百度百科——DP
参考资料来源:百度百科——PX
热心网友 时间:2022-05-13 07:11
dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:
在320x480分辨率,像素密度为160,1dp=1px
在480x800分辨率,像素密度为240,1dp=1.5px
计算公式:1dp*像素密度/160 = 实际像素数
px(像素):屏幕上的点。
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。