超级和下标Span无法正常工作

时间:2017-11-08 22:33:46

标签: android android-4.4-kitkat subscript superscript

我遇到了带有KitKat的子和上标的问题,所以我想做一个给出文本的方法,返回超级和子脚本所在的位置,所以我可以使用{{1} }和SuperScriptSpan,因为我不想使用SubScriptSpan功能 分别检测子脚本和超级脚本的正则表达式是:
Html.fromHtml[\u2080-\u2089]
一切似乎都正常工作,除非渲染实际发生,因为文本没有正确设置。在下一个屏幕截图中,您可以看到跨度发生了什么: Wrong spans!
获得职位的代码如下:

[\u2070-\u2079]

正则表达式改变,如果它是下标 这是我设置所有跨度的代码:

public static ArrayList<int[]> getSuperScripts(String body) {
    ArrayList<int[]> spans = new ArrayList<>();

    Pattern pattern = Pattern.compile("[\\u2070-\\u2079]");
    Matcher matcher = pattern.matcher(body);

    // Check all occurrences
    while (matcher.find()) {
        int[] currentSpan = new int[2];
        currentSpan[0] = matcher.start();
        currentSpan[1] = matcher.end();
        spans.add(currentSpan);
    }

    return spans;
}

再次,从超级到下标的变化 提前谢谢!

0 个答案:

没有答案