Android为什么即使指定了sp中的一个文本大小,所有设备的文本大小也不同?

mig*_*igs 5 android text-size

我想知道为什么我的TextView大小对于不同的设备是不同的,即使我在sp或dp中设置文本大小.

请帮我.谢谢.

Tad*_*dej 3

这篇文章解释了其中的区别:

div/dp(与密度无关的像素):

基于屏幕物理密度的抽象单位。这些单位是相对于 160 dpi 屏幕而言的,因此 1 dp 是 160 dpi 屏幕上的一个像素。dp与像素的比例会随着屏幕密度的变化而变化,但不一定成正比。注意:编译器接受“dip”和“dp”,但“dp”与“sp”更一致。

sp(与比例无关的像素):

与 dp 单位类似,但它也会根据用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好进行调整。

这篇文章解释了原因dpsp价值观可能不同:

dp 与像素的转换比例恒定:dp = px * ratio。在任何特定设备上比率都不会改变。

sp 的可缩放比例为:sp = px * ratio * scale。比率永远不会改变,但比例可由用户配置。此比例可供需要更大字体大小的人使用,例如,为了更舒适地使用设备。