当我使用
时android:textSizes="20dp"
在我的textView
的XML中,我收到了警告"对于文字大小,我应该使用"sp"
代替"dp"
。"
为什么要#34; dp"不习惯?什么是正确的方法?如何在不同的显示器上实现相同的文本化?
答案 0 :(得分:29)
您应该始终使用SP作为字体,因为它尊重用户首选项。 Here is an example 让我们借助一个例子来理解它 -
带SP和DP的文本
更改设备文字设置(设置 - >显示 - >字体大小)
现在重新打开应用程序并重新查看文本,您将看到使用SP的文本高度与DP不同。
答案 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单位类似,但它也可以根据用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户的偏好调整它们。
答案 3 :(得分:0)
正如@GiruBhai所说,使用sp代替dp更方便文本大小,因为根据用户的偏好可以更改-dlike dp。这可能会更好地满足用户的需求。
更多信息。 :Dimensions in Android
来源:developer.android.com