我正在尝试以编程方式设置 TextView
字体大小。
txtView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
但是当我通过
检查这个尺寸时Toast.makeText(this, "txt: " + txtView.getTextSize(), Toast.LENGTH_SHORT).show();
Toast
显示大小为“24”,比我之前设置的大 50%。
我测试了多个值并且总是得到相同的结果:
8 becomes 12
10 becomes 15
15 becomes 22.5
etc.
我尝试设置的字体总是变大 50%。
为什么会这样?我哪里出错了?
最佳答案
我相信这是因为 TextView.getTextSize()
返回以 像素 为单位的文本大小,而不是 sp
单位,无论您首先使用什么单位类型来设置文本大小。
此外,another SO thread讨论了如何将其转换为 sp
单位。
关于android - 以编程方式设置后获取奇怪的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465566/