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