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

时间:2014-06-01 15:11:08

标签: android android-layout textview

当我使用

android:textSizes="20dp" 

在我的textView的XML中,我收到了警告"对于文字大小,我应该使用"sp"代替"dp"。"

为什么要#34; dp"不习惯?什么是正确的方法?如何在不同的显示器上实现相同的文本化?

4 个答案:

答案 0 :(得分:29)

您应该始终使用SP作为字体,因为它尊重用户首选项。 Here is an example 让我们借助一个例子来理解它 -

带SP和DP的文本

enter image description here

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

enter image description here

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

enter image description here

答案 1 :(得分:26)

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

答案 2 :(得分:12)

您可以同时使用

字体大小的

sp
dp 用于其他一切。

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

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

有关详细信息,请参阅Difference between px, dp, dip and sp in Android?

答案 3 :(得分:0)

正如@GiruBhai所说,使用sp代替dp更方便文本大小,因为根据用户的偏好可以更改-dlike dp。这可能会更好地满足用户的需求。

更多信息。 :Dimensions in Android

来源:developer.android.com