我在 / res / values 文件夹的 dimens.xml 中为textview提供 12sp 的字体大小。
当我在Nexus 5设备(位于XXHDPI存储桶中)上尝试使用此字体时,我的文字大小为 36 。然后我尝试在 / res / values-xxhdpi 文件夹中创建新的 dimens.xml ,文本大小与 12sp 相同。它仍然给我字体大小 36 。
我希望仅将字体大小保持为 12sp 。可能的原因是什么?
请注意,我正在以编程方式添加TextView并通过
设置它的大小context.getResources().getDimension(
R.dimen.font_size)
答案 0 :(得分:1)
1sp = 3px
设备上的 XXHDPI
。您在所有sp
中都使用相同的dimens.xml
值,因此在MDPI
设备上使用12sp = 12px
,但在Nexus上12sp = 36px
。
如果您想要与4sp
设备上的文本大小完全相同,请将文本大小设置为MDPI
。
您也可以使用单个dimens.xml
并使用px
作为单位而不是sp
,因此不会缩放字体大小。