如何计算和设置TextView的正确文本大小



我有一个表,它的头行编码在xml文件中。我将其内部TextView的TextSize属性设置为20dp。现在,我想用相同的textSize以编程方式添加textview,但当我使用tv.setTextSize(20)时,它们会稍大一些。我试过tv.setTextSize(20 / ((float) getResources().getDisplayMetrics().densityDpi / DisplayMetrics.DENSITY_DEFAULT));,但那条路太小了。正确的方法是什么?

您必须在app/res/values/dimen.xml文件夹内的dps中声明您的文本视图大小

<dimen name="text_size_20_dp">20dp</dimen>

Java:

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

Kotlin:

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
resources.getDimension(R.dimen.text_size_20_dp))

最新更新