setSingleLine()
или setSingleLine(true)
запрещает TextView изменять свою высоту на большее количество строк и заставляет TextView игнорировать разрывы строк (символ \n
в строке).
setMaxLines(int n)
отображаетпервые n строк строки, отображаемых в TextView, которые разделены разрывом строки.
Например, пусть String будет «моей первой строкой \ n, а моей второй строкой \ n и третьей строкой»
setSingleLine()
позволяет TextView отображать «моя первая строка и мой ..», так как ширина экрана превышена и setMaxLines(1)
приводит к «моей первой строке» setMaxLines(2)
приводит к тому, что "моя первая строка" и ниже строки с надписью "и моя вторая строка" setMaxLines(3)
, очевидно, не влияет на эту строку образца.
Обновление: это должно работать для "setDoubleLine с усечением":
// optional: string.replace("\n",""); or string.replace("\n"," ");
tv.setSingleLine(false);
tv.setEllipsize(TextUtils.TruncateAt.END);
int n = 2; // the exact number of lines you want to display
tv.setLines(n);