【问题标题】:Unclear on how sp works exactly (scaled pixels) [duplicate]不清楚 sp 如何准确工作(缩放像素)[重复]
【发布时间】:2025-12-16 20:15:01
【问题描述】:

可能重复:
Difference of px, dp, dip and sp in Android?

所以我知道我应该只将sp 用于文本字体大小。现在,我不明白他们到底在做什么。假设我在正常屏幕尺寸的布局中具有 TextView 的以下属性:

android:textSize="17dp"

如果我用这个替换它:

android:textSize="17sp"

会发生什么?在可视化编辑器中,看起来并没有什么不同?

我猜如果我有一个 3.2" 的屏幕符合正常尺寸布局,还有一个 4.0" 屏幕也符合我的正常尺寸布局,那么如果我使用sp,文本的大小将稍微放大一点?对吗?

【问题讨论】:

  • @hovanessyan 已经做了,但仍然不确定。谢谢。
  • 嗯,按照文档,sp和dp一样,但是也考虑到了用户的喜好。因此,使用 SP 作为字体大小,使用 DP 作为其他所有内容是有意义的......
  • 在 4.x 模拟器或设备中,进入“设置”>“显示”>“字体大小”,然后将其从“正常”更改为其他内容。
  • @hovanessyan 但是如果他们确实想要更大的字体,如果字体大小增加,那会不会影响我的布局?

标签: android android-layout android-ui


【解决方案1】:

使用 sp 呈现的文本与辅助功能选项更兼容,例如,如果用户启用高对比度模式或普遍增加文本的大小。由于 sp 也是密度无关的,所以这是 sp 和 dp 之间的唯一区别。

【讨论】:

    【解决方案2】:

    我不想开始一个关于它的新线程,所以请查看已经回答的线程。您的问题主要在 cmets 中得到解答。 Difference of px, dp, dip and sp in Android?

    【讨论】: