editText.setTextSize有时不起作用

时间:2014-10-21 13:33:14

标签: android fonts textview

我使用自定义字体:

myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");

根据屏幕尺寸,我将字体大小计算为mySize变量。我用

editText.setTypeface(myTypeface);
editText.setTextSize(mySize);

1024 * 600,640 * 480设备尺寸正确, 但800 * 480设备上的文字高度很大。 所以计算出的mySize不起作用。 它显示更大的文字。 我怀疑我只能使用某些尺寸,如10,14,20,25等 并且有时不支持计算mySize。 但我不知道我的字体有哪些尺寸。 那么我该怎么做才能正确地在不同设备上显示我的页面。 谢谢!

1 个答案:

答案 0 :(得分:0)

mySize是根据屏幕大小动态计算还是常量?

默认setTextSize设置px的大小,因此在不同的屏幕密度上会显示不同。

要使用与密度无关的可缩放像素(sp),您应该使用editText.setTextSize(TypedValue.COMPLEX_UNIT_SP ,mySize);