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


当前回答

像素(px) - 相应于屏幕上的实际像素,如果您想要提供的绝对像素的宽度或高度。

总是使用 dp 和 sp 只. sp 用于字体大小和 dp 用于其他任何东西. 它将使 Android 设备与不同的密度兼容的 UI. 您可以从 https://www.google.com/design/spec/layout/units-measurements.html#units-measurements-density-independent-pixels-dp- 了解更多关于 pixel 和 dp 的信息。

来源 URL:- http://www.androidtutorialshub.com/what-is-the-difference-between-px-dp-dip-sp-on-android/

其他回答

dp 是 dip. 使用它为一切(边缘,粘贴等)。

只用 sp 为 {text-size}。


为了在不同的屏幕密度上获得相同的尺寸,Android在运行时间中将这些单元翻译成像素,所以没有什么可怕的数学。


在不同屏幕大小上看到 px、dp 和 sp 的差异。

此分類上一篇

来源:Android编程:The Big Nerd Ranch 指南

px = 指屏幕上的像素可用于像素计算 px = dp * (dpi / 160) 可用于 dip = 密度独立的像素相当于 dp sp = 只能用于文本

sp = 尺寸独立像素

dpi = 密度像素

sp 接收设备的文本大小,而 dp 接收设备密度标准(不会在设备中改变) 说 100sp 文本可以占用屏幕的 80% 或屏幕的 100% 取决于设备中设置的字体大小

使用 sp 和 dp 为 UX 考虑的文本大小。

此外,请注意,人们在手机上使用自定义字体,因此缺乏字体可能会导致空间和所有问题。 说文本大小12sp为自定义字体可能需要一些比默认字体额外的像素。

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

dp = px * 160 / dpi

MDPI = 160 dpi || Therefore, on MDPI 1 px = 1 dp
For example, if you want to convert 20 pixel to dp, use the above formula,
dp = 20 * 160 / 160 = 20.
So, 20 pixel = 20 dp.

HDPI = 240 dpi - So, on HDPI 1.5 px = 1 dp
XHDPI = 320 dpi - So, on XHDPI 2 px = 1 dp
XXHDPI = 480 dpi - So, on XXHDPI 3 px = 1 dp

For example, let us consider Nexus 4.
If 24 pixels to be converted to dp and if it is a Nexus 4 screen, developers can
convert it to dp easily by the following calculation :
dp = 24 * 160 / 320 = 12 dp
Screen dimension:
768 x 1280 pixel resolution (320 ppi or 320dpi)
Optional (screen size):
 4.7" diagonal

尝试从创意团队获得所有像素值的数字,否则准确性损失会发生,同时加倍为0.5。

SP

使用 sp 为字体大小. 然后只有在应用程序内部的字体会改变,而设备字体大小会改变(即显示 -> 字体在设备上)。 如果你想在应用程序内部保持静态字体大小,你可以给字体大小在 dp. 在这种情况下,它永远不会改变。

像素(px) - 相应于屏幕上的实际像素,如果您想要提供的绝对像素的宽度或高度。

总是使用 dp 和 sp 只. sp 用于字体大小和 dp 用于其他任何东西. 它将使 Android 设备与不同的密度兼容的 UI. 您可以从 https://www.google.com/design/spec/layout/units-measurements.html#units-measurements-density-independent-pixels-dp- 了解更多关于 pixel 和 dp 的信息。

来源 URL:- http://www.androidtutorialshub.com/what-is-the-difference-between-px-dp-dip-sp-on-android/