Should use "sp" instead of "dp" for text sizes
当我使用
1 | android:textSizes="20dp" |
在我的
为什么不应该使用"dp"?什么是正确的方法?如何在不同的显示器上实现相同的文本大小?
您应该始终将 SP 用于字体,因为它尊重用户偏好。这是一个例子
让我们通过一个例子来理解它 -
带有 SP 和 DP 的文本
更改设备文本设置(设置 -> 显示 -> 字体大小)
现在重新打开应用程序并重新查看文本,您会看到使用 SP 的文本与 DP 的高度不同。
您可以使用 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