3

有没有办法获得 a TextViewin的行距Android?我试图找到fontMetricsPaintTextView这样做:

tv1.getPaint().getFontMetrics(pfm);
float fontTop = pfm.top;
float fontBottom = pfm.bottom;
System.out.println("Line Space >> " + (fontBottom - fontTop));

但似乎结果是相同的,直到我更改TextView. 那么如何获得 a 的行距TextView

4

3 回答 3

3

is 的TextView行距

textView.getPaint().getFontSpacing() * textView.getLineSpacingMultiplier() + textView.getLineSpacingExtra();

注释getLineSpacingMultiplier()getLineSpacingExtra()方法自 API 16+ 起可用。

于 2014-03-08T01:10:16.717 回答
1

getLineSpacingExtra (); 获取行距额外空间

tv1.getLineSpacingExtra ()

textView.setLineSpacing()或者从 xml 你可以android:lineSpacingExtra用来设置额外的空间。

于 2014-03-07T07:26:32.270 回答
0
    try {
        Field mSpacingAddField = TextView.class.getDeclaredField("mSpacingAdd");
        Field mSpacingMultField = TextView.class.getDeclaredField("mSpacingMult");
        mSpacingAddField.setAccessible(true);
        mSpacingMultField.setAccessible(true);
        mSpacingAdd = mSpacingAddField.getFloat(textView);
        mSpacingMult = mSpacingMultField.getFloat(textView);
    } catch (Exception e) {
        e.printStackTrace();
    }
于 2017-04-13T05:55:48.260 回答