Android - sp有什么问题?

时间:2015-08-09 07:31:16

标签: android

UI设计师为Android应用程序绘制了这个设计:

尺寸为1080x1920像素。这与具有xxhdpi密度的Nexus 5显示器相同。在此密度1dp = 3px。 我的设计JPEG图像上有这封信。它的高度--45px。

enter image description here

所以我计算了我的TextView大小45px / 3 = 15sp

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="15sp"
    android:text="Large Text"
    android:textColor="#5B5C5D"
    android:singleLine="true"
    android:id="@+id/tvFolder" />

但是当我在Galaxy Nexus上运行我的应用程序时 - 720x1280px。密度 - xhdpi。 1dp = 2px。我得到了这个结果 - 我的字母'd'高度为24px,等于12dp。

enter image description here

当然,我可以重新计算(乘以1.25)并制作TextView 19dp。但我想了解为什么会这样,我们可以解决这个问题。也许我很困惑并犯了一个错误。所以我的问题是,sp有什么问题?

1 个答案:

答案 0 :(得分:3)

您是否在设备设置中检查了字体比例是否设置为1?

如果要在设备特定像素中定义字体大小,则必须使用dp,如果您希望用户能够根据自己的意愿进行缩放,则使用sp。