我有一个表,它的头行编码在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))