将溢出文本从一个 TextView 传输到另一个 TextView

Transferring text on overflow from one TextView to another TextView

我正在尝试构建类似于 文本 reader 的内容。它必须有一个水平滑动(正常的书本风格),而不是向下滚动。

为了实现这一点,我正在用许多 TextViews 动态填充 ViewFlipper。直观的想法是,我在之前的每个 TextView 溢出上创建一个新的 TextView,并将其添加到 ViewFlipper.

我可能会用 setMaxLines() 来完成,但我无法获得超出最大行的文本。

问题:

如何在溢出时将文本从一个 TextView 移动到另一个?

我决定使用的方法从根本上是错误的吗?

编辑:

抱歉,由于某些原因我不能说清楚我的问题。也许这会有所帮助:

TextView text1, text2;
String s = "Extreamly long string. Much longer than this one";
text1.setText(s);
text2.setText( // Text that is overflowing //);

如何判断字符串的哪些部分可见,哪些部分溢出?

谢谢

    TextView tv = new TextView(context);

    ViewTreeObserver vto = tv.getViewTreeObserver();

    vto.addOnGlobalLayoutListener(

            new ViewTreeObserver.OnGlobalLayoutListener() {

                @Override
                public void onGlobalLayout() {

                    Layout l = tv.getLayout();

                    int height = tv.getHeight();
                    int scrollY = tv.getScrollY();

                    /**
                     * Key part
                     */

                    int lineCount = l.getLineForVertical(height + scrollY);

                    int start = l.getLineStart(0);
                    int end = l.getLineEnd(lineCount - 1);

                    /**
                     * Cut string
                     */

                    String s = tv.getText().toString().substring(start, end);

                }

            }
    );