如何仅从EditText获取可见文本

时间:2014-03-01 11:40:08

标签: android android-edittext

我有一个在Android上运行的代码编辑器的EditText。我正在对内容应用语法突出显示,除了EditText滚动屏幕的大字符串之外它运行良好 - 语法突出显示在每次按键时应用于整个Spannable。

是否有人知道如何仅捕获用户可见的文本?

我只能根据光标位置来考虑讨厌的黑客,但是当用户滚动时会破坏。

1 个答案:

答案 0 :(得分:2)

可以使用下面的功能获取可见文本偏移量。您输入编辑文本的原始x,y角,它将返回最近的文本偏移量(即字符位置)。

    EditText et = ;
    et.getOffsetForPosition(x, y);

一旦知道可见文本的开头/结尾,就可以相应地设置跨度。如果你只是改变着色(即不是高度/宽度),那么就不应该有任何循环依赖。