我正在考虑在自定义StaticLayout
中使用TextView
。我要换行的文本的长度是可变的,具体取决于先前输入到应用程序中的数据。假设输入内容是大文本,我想限制在一个高度(这也取决于数据输入),并在最后一行显示省略号。
当文本不适合视图时,StaticLayout没有最大行数的概念,关于如何实现此目的有何建议?
代码:
// How to calculate 'limitLines' in a variable text?
StaticLayout.Builder builder = StaticLayout.Builder.obtain(
text, 0, text.length(), textPaint, innerWidth)
.setAlignment(alignment)
.setLineSpacing(0.0f, lineSpacing)
.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE)
.setMaxLines(limitLines ? maxLines : Integer.MAX_VALUE);
if (limitLines) {
builder.setEllipsize(TextUtils.TruncateAt.END)
.setEllipsizedWidth(ellipsizedWidth);
}