Как получить межстрочный интервал 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();
}