Как получить межстрочный интервал TextView?

Есть ли способ получить межстрочный интервал TextView в Android? Я пытаюсь найти fontMetrics из Paint из TextView и делай так:

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

Но кажется, что результат остается тем же, пока я не изменю размер шрифта TextView, Так как я могу получить межстрочный интервал TextView?

3 ответа

Расстояние между TextView является

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

Заметка getLineSpacingMultiplier() а также getLineSpacingExtra() методы доступны начиная с API 16+.

getLineSpacingExtra (); Получает дополнительный интервал между строками

tv1.getLineSpacingExtra ()

textView.setLineSpacing() или из XML вы можете использовать android:lineSpacingExtra для установки дополнительного пространства.

    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();
    }
Другие вопросы по тегам