为什么我们要在 Android 中使用 sp 表示字体大小?

可能的复制品:
机器人中 px、 dp、 dip 和 sp 的差异

我是安卓系统的新手,我正在尝试 本教程

在该教程中,他们使用单元“ sp”表示 textSize 属性,使用“ dp”表示其他属性。

请告诉我 sp 和 dp 有什么不同?

62728 次浏览

dp有恒定的比例转换到 px: dp = px * ratio。其中 ratio将永远不会改变任何特定的设备。

sp具有可伸缩的比例: sp = px * ratio * scale。其中 ratio永远不变,但 scale是用户可配置的。这个 scale可以用于需要更大字体大小的人,例如,使用设备更舒适。

相对于设备的正常字体大小,Sp 是独立缩放的。 Http://developer.android.com/guide/practices/screens_support.html

类似地,您应该选择 sp (与比例无关的像素)来定义文本大小。Sp 缩放因子取决于用户设置,系统缩放的大小与 dp 相同。