textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, getResources().getDimension(R.dimen.result_font));

以下代码可以工作,但是R.dimen.result_font的值比实际值大得多。根据屏幕大小,它可能约为18sp-22sp或24sp。但是这里设置的大小至少约为50sp。有人可以推荐一些东西吗?

最佳答案

您必须将其更改为TypedValue.COMPLEX_UNIT_PX,因为getDimension(id)从资源中返回一个dimen值,而隐式地将转换为 px

Java的:

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
                     getResources().getDimension(R.dimen.result_font));

Kotlin :
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
                     resources.getDimension(R.dimen.result_font))

关于android - 以编程方式设置textSize,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20364993/

10-09 04:37