Android 将溢出时的文本从一个TextView传输到另一个TextView
我正在尝试构建类似于文本阅读器的东西。它必须有一个水平的幻灯片(正常的书),而不是向下滚动 为了实现这一点,我正在用许多文本视图动态地填充视图翻转器。直观的想法是,我在前面的每个文本视图溢出上创建一个新的文本视图,并将其添加到视图翻转器 我可以通过setMaxLines()实现这一点,但我无法获得超出该最大行的文本 问题: 如何在溢出时将文本从一个文本视图移动到另一个文本视图 或 我决定使用的方法根本上错了吗 编辑: 对不起,由于某种原因,我不能把我的问题说清楚。也许这会有帮助:Android 将溢出时的文本从一个TextView传输到另一个TextView,android,textview,Android,Textview,我正在尝试构建类似于文本阅读器的东西。它必须有一个水平的幻灯片(正常的书),而不是向下滚动 为了实现这一点,我正在用许多文本视图动态地填充视图翻转器。直观的想法是,我在前面的每个文本视图溢出上创建一个新的文本视图,并将其添加到视图翻转器 我可以通过setMaxLines()实现这一点,但我无法获得超出该最大行的文本 问题: 如何在溢出时将文本从一个文本视图移动到另一个文本视图 或 我决定使用的方法根本上错了吗 编辑: 对不起,由于某种原因,我不能把我的问题说清楚。也许这会有帮助: TextVie
TextView text1, text2;
String s = "Extreamly long string. Much longer than this one";
text1.setText(s);
text2.setText( // Text that is overflowing //);
如何确定字符串的哪些部分是可见的,哪些部分是溢出的
谢谢
用许多文本视图填充浏览页面
实际上,你只需要两页,就像一本书的左右两页(或者日记或笔记本,随便什么)。只需适当地填写即可。这实际上是一个有用的注释。谢谢我还可以请您更具体地说明如何将溢出上的文本从一个移动到另一个吗?您可以从源字符串中删除第一个文本视图中可见的文本,并将其余文本放在第二个文本视图中。然后,向前看,用第二个文本视图的内容替换第一个文本视图的内容,在第二个文本视图中,通过将第一个文本视图中的文本从剪切字符串上剪切下来(在第1步中剪切片段后)来放置剩余的内容,这一概念在我看来也很正确。但如何剪切此可见文本?;)谢谢现在看起来不错。
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);
}
}
);