测量单位 px、dip、dp 和 sp 的区别是什么?


当前回答

1) dp:(密度独立的像素)

像素的数量在一个单位的dp将增加,因为屏幕分辨率增加(当你有更多的点/像素每英寸)。相反,在较低分辨率的设备,像素的数量在一个单位的dp将减少。 因为这是一个相对单位,它需要一个基线与比较。 这个基线是一个160dpi屏幕。 这是方程式: px = dp *

2) sp:(尺寸独立的像素)

该单位按屏幕dpi(类似于dp)以及用户的字体大小偏好进行规模。

3、PX(像素)

实际的像素或屏幕上的点。

此分類上一篇

更多详细信息您可以参观

Android 開發人員指南 > 尺寸 Android 開發人員指南 > 屏幕

其他回答

来源1

来源2

源3(源3的数据如下)

这些是尺寸值定义在XML. 一个尺寸是指一个数字跟随一个尺寸单位. 例如: 10px, 2in, 5sp. 以下尺寸单位是由Android支持:dp 密度独立的像素 - 一个抽象单位,基于屏幕的物理密度. 这些单位是相对的160dpi(点每英寸)屏幕,在其中1dp是相当于1px

注意: 一个尺寸是一个简单的资源,使用在名称属性中提供的值(而不是 XML 文件的名称)。 因此,您可以在一个 XML 文件中将尺寸资源与其他简单的资源相结合,在一个元素下。

屏幕大小:

对于简单性,Android将所有实际屏幕大小组成四个通用大小:小、正常、大、超大。

方向:

当添加多个屏幕支持时,应用程序不直接与分辨率工作;应用程序应仅涉及屏幕大小和密度,如通用大小和密度组所规定的。

一个虚拟像素单位,你应该在定义UI布局时使用,以以密度独立的方式表达布局尺寸或位置。 密度独立的像素相当于160dpi屏幕上的一个物理像素,这是系统对“中间”密度屏幕所承担的基密度。

参考:Android开发者网站

我只会使用DP。

有很多关于使用“sp”字体尺寸的谈话,虽然我欣赏这一点,我不认为这是从设计观点做正确的事情,你可以结束打破你的设计,如果用户有一些有趣的字体尺寸的选择,用户将最终责怪应用程序,而不是自己的生活选择。

此外,如果你在160dpi平板电脑上使用 sp-font 应用程序,你会发现一切都在扩展......但你的字体,这在比较中会看起来很小。

虽然“sp”字体的想法有一个好心,但这是一个糟糕的想法。

sp:尺寸独立像素

您应该使用它与文本,因为它是根据用户在其设备中使用的字体大小自动规模。

px:像素或图像元素是屏幕上的单点

我想提供一个简单的方式来理解 dp. 事实上,我认为 dp 是最容易理解的. dp 只是一个物理长度单位. 它与 mm 或 inch 相同的尺寸. 它只是方便我们写 50dp, 60dp 而不是 50/160 英寸或 60/160 英寸,因为一个 dp 只是 1/160 英寸,无论屏幕大小或分辨率是什么。

唯一的问题是,某些屏幕的Android dpi不准确,例如,分为160dpi的屏幕可能有170dpi。