如何获得TextView的行间距?

时间:2014-03-07 07:10:42

标签: android textview fontmetrics

有没有办法在TextView中获得Android的行间距?我尝试找到fontMetrics的{​​{1}}的{​​{1}},并且这样做:

Paint

但是在我更改TextView的字体大小之前,似乎结果是一样的。那么如何才能获得tv1.getPaint().getFontMetrics(pfm); float fontTop = pfm.top; float fontBottom = pfm.bottom; System.out.println("Line Space >> " + (fontBottom - fontTop));

的行间距

3 个答案:

答案 0 :(得分:2)

TextView的行间距是

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

自API 16 +以来,注意getLineSpacingMultiplier()getLineSpacingExtra()方法可用。

答案 1 :(得分:1)

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

tv1.getLineSpacingExtra ()

textView.setLineSpacing()或xml,您可以使用android:lineSpacingExtra来设置额外空间。

答案 2 :(得分: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();
    }