Я хочу добавить несколько проходов в текстовое окно с настраиваемым пространством строк. Я использую класс LineHeightSpan, определенный в android. Но, кажется, он ведет себя по-разному в Android M и более низкие версии Здесь результат в нижней версии AndroidLineHeightSpan в Android M и более поздних версиях
и это, как она выглядит в Android M
Вот как я реализован в коде: Это моя реализация LineHeightSpan:
public class VerticalMarginSpan implements LineHeightSpan {
private final int value;
public VerticalMarginSpan(int value) {
this.value = value;
}
@Override
public void chooseHeight(CharSequence text, int start, int end, int spanstartv, int v,
Paint.FontMetricsInt fm) {
fm.ascent -= value/2;
fm.descent += (value/2);
}
}
И как я использую его:
SpannableStringBuilder builder = new SpannableStringBuilder(tempStr);
builder.setSpan(
new VerticalMarginSpan(lineSpace),
0,
tempStr.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(builder);
Как я могу исправить эту проблему?
Я решить эту проблему в Android M, добавив шрифт расстояние до текстового поля вместо применения LineHeightSpan. Вы спасли мое время. Спасибо. – Hojjat