应该使用DP而不是PX来保持尺寸或更改尺寸?

时间:2019-05-15 16:12:14

标签: android

最近,我读到了有关android开发中的DIP和PX的信息,但一件事我遇到了问题。我们应该使用dp来保持所有屏幕的小部件和图像大小正确吗?例如,在mdpi中具有32 * 32像素的图像等于在xhdpi屏幕中具有64 * 64像素的图像,我的意思是它们在两个具有相同尺寸(例如5英寸)和密度不同的屏幕中具有相同的尺寸! 但是在我提到的风箱中,它具有相同的dp大小不同!为什么?? !!
Click for image

1 个答案:

答案 0 :(得分:0)

我认为您错过的问题不是大小相同而是屏幕比例相同,图像中的图标取决于屏幕dpi而具有不同的像素大小。

在创建应用程序的UI布局时,通常使用px,dp,dip和sp等单位定义尺寸。

像素(px) –对应于屏幕上的实际像素。如果您要给出宽度或高度的绝对像素,则使用此方法。

与密度无关的像素(dp或dip) –一种基于屏幕物理密度的抽象单位。这些单位是相对于160 dpi屏幕的,因此1 dp是160 dpi屏幕上的一个像素。 dp与像素的比率将随屏幕密度而变化,但不一定成正比。注意:尽管“ dp”与“ sp”更一致,但编译器接受“ dip”和“ dp”。

与比例无关的像素(sp) –类似于dp单位,但也可以通过用户的字体大小首选项进行缩放。建议您在指定字体大小时使用本机,以便针对屏幕密度和用户的喜好进行调整。

始终仅使用dp和sp。 sp表示字体大小,dp表示其他所有内容。它将使UI兼容具有不同密度的Android设备。您可以从https://www.google.com/design/spec/layout/units-measurements.html#units-measurements-density-independent-pixels-dp-

了解有关像素和dp的更多信息