Android - 列中的拆分文本

时间:2012-03-22 09:07:43

标签: android split textview

我应该分割一个长文本,以便根据需要显示在尽可能多的列中。例如,我有一个80行文本,我希望在两个textview中显示它,然后在另一个文本旁边显示更大的一个,每个最大值为60.有任何建议吗?

1 个答案:

答案 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;
}