关于 android:文本大小应使用 \\”sp\\” 而不是 \\”dp\\”

Should use "sp" instead of "dp" for text sizes

当我使用

1
android:textSizes="20dp"

在我的 textView 的 XML 中,我收到警告"应该使用 "sp" 而不是 "dp" 来表示文本大小。"

为什么不应该使用"dp"?什么是正确的方法?如何在不同的显示器上实现相同的文本大小?


您应该始终将 SP 用于字体,因为它尊重用户偏好。这是一个例子
让我们通过一个例子来理解它 -

带有 SP 和 DP 的文本

enter

现在重新打开应用程序并重新查看文本,您会看到使用 SP 的文本与 DP 的高度不同。

enter


您可以使用 sp 和 dp。如您所知,在 Android 设置中,您可以更改文本大小(设置 -> 我的设备 -> 显示 -> 字体大小)。在更改设置中的字体大小后,sp 中的所有 textView 都会更改,dp - 不会更改


你可以同时使用

sp 字体大小
dp 其他一切。

dp
Density-independent Pixels - 一个基于屏幕物理密度的抽象单位。这些单位与 160 dpi 屏幕相关,因此 1 dp 是 160 dpi 屏幕上的一个像素。 dp与像素的比例会随着屏幕密度而变化,但不一定成正比。注意:编译器同时接受 "dip" 和 "dp",尽管 "dp" 与 "sp" 更一致。

sp
Scale-independent Pixels - 这就像 dp 单位,但它也被用户的字体大小偏好缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好进行调整。

有关更多信息,请参阅 Android 中 px、dp、dip 和 sp 的区别?


正如@GiruBhai 所分享的,使用 sp 而不是 dp 更方便文本大小,因为它可以根据用户的喜好进行更改 - 与 dp 不同。这可能更好地满足您的用户需求。

更多信息。 : Android 中的尺寸

来源:developer.android.com