参考:https://www.cnblogs.com/tc310/p/12721754.html
前言:
在我们做界面开发的时候,UI的标注图中经常是标注了文字的字号和文件的间距。而当我们使用多个TextView 实现后,却发现textView 之间的空白区域的高度,是远大于设计标注的。
前提: TextView height = warp_content。 设为单行。
原因: TextView 高度包含 1) IncludedFontPadding 2,Line height;
而LineHeight 也并不是文字字号高度,并且也大于字号高度。
TextView textView = (TextView) findViewById(R.id.sample_text);
textView.setBackgroundColor(Color.YELLOW);
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX , 60);
1,关于行高获取:
intht = textView.getLineHeight();
这个高度的获取,并不需要对当前的Text 进行测量。 与当前的TextSize 正相关。
2,
textView.setIncludeFontPadding(false);
可以通过这个方法,禁掉首行文字和末行文字的font padding。 需要验证是否对行高也有影响。
if (includepad) {
spacing = metrics.bottom - metrics.top;
mDesc = metrics