我应该分割一个长文本,以便根据需要显示在尽可能多的列中。例如,我有一个80行文本,我希望在两个textview中显示它,然后在另一个文本旁边显示更大的一个,每个最大值为60.有任何建议吗?
答案 0 :(得分:3)
我知道这是一个老问题,但即使...... 也许看看这里: http://www.accella.net/multi-column-text-displays-in-android/
您需要将文本显示在第一个文本视图中,然后获取第一个文本视图中未显示的内容,然后将其显示在第二个文本视图中,依此类推。 要从textview获取“隐形”文本,请参阅以下代码:
private String getInvisibleText(final TextView textView) {
String invisible = null;
int height = textView.getHeight();
int scrollY = textView.getScrollY();
Layout staticLayout = textView.getLayout();
int lastVisibleLineNumber = staticLayout.getLineForVertical(scrollY+height);
int start = staticLayout.getLineEnd(lastVisibleLineNumber);
int end = staticLayout.getLineEnd(textView.getLineCount()-1);
if (textView.getText().toString() != null
&& !textView.getText().toString().isEmpty()
&& end > 0
&& textView.getText().toString().length() >= end) {
invisible = textView.getText().toString().substring(start, end);
}
return invisible;
}