【发布时间】:2019-04-23 23:22:58
【问题描述】:
我有一个TextView,我在其中以编程方式设置“SP”中的文本大小。
tv.setTextSize(spToPx(5, context));
public static int spToPx(float sp, Context context) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics());
}
第一个屏幕截图显示了它的外观(以及它在我的小米 Redmi 和 Doogee HT7 上的外观
第二张截图显示了它在其他具有更高或相同 dpi 的设备上的外观。
通常,如果我理解正确,“dp”或“sp”中大小相同的文本在其他设备(屏幕大小相同)上看起来应该相同,因为它会自动将“dp”或“sp”转换为所需的像素数量取决于 dpi。
在阅读了有关具有不同密度的设备的 Android 开发人员指南后,我预计如果在具有更高 dpi 的设备上使用相同的文本大小,文本会更小。但是现在我遇到了一个我真的不明白的情况。
【问题讨论】:
标签: android textview density-independent-pixel screen-density