对于文本大小,应使用“sp”而不是“dp”

我用的时候

android:textSizes="20dp" 

在我的XML for textView中,我收到一条警告“应该使用”sp“而不是”dp“用于文本大小。”

为什么不使用“dp”? 什么是正确的方法? 如何在不同的显示器上实现相同的文本化?

Solutions Collecting From Web of "对于文本大小,应使用“sp”而不是“dp”"

您应始终使用SP作为字体,因为它尊重用户首选项。 这是一个例子让我们借助一个例子来理解它 –

带SP和DP的文本

在此处输入图像描述

更改设备文本设置(设置 – >显示 – >字体大小)

在此处输入图像描述

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

在此处输入图像描述

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

你可以两者兼得

sp表示字体大小
dp用于其他一切。

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

SP
与比例无关的像素 – 这与dp单位类似,但它也可以通过用户的字体大小首选项进行缩放。 建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。

有关更多信息,请参阅Android中的px,dp,dip和sp之间的差异?

正如@GiruBhai所分享的那样,使用sp代替dp更方便文本大小,因为它可以根据用户的偏好进行更改 – 不像dp。这可能会更好地满足您的用户需求。

更多信息。 : Android中的尺寸

资料来源:developer.android.com