美文网首页
Android TextView获取某个字符的坐标

Android TextView获取某个字符的坐标

作者: 曾大稳丶 | 来源:发表于2018-02-06 10:06 被阅读0次

TextView是通过Layout来管理字符的位置

/**
     * 获取TextView某一个字符的坐标
     *
     * @parms tv
     * @parms index 字符下标
     * @return 返回的是相对坐标
     */
    private int getTextViewSelectionBottomY(TextView tv,int index) {
        Layout layout = tv.getLayout();
        Rect bound = new Rect();
        int line = layout.getLineForOffset(index);
        layout.getLineBounds(line, bound);
        int yAxisBottom = bound.bottom;//字符底部y坐标
//        int yAxisTop = bound.top;//字符顶部y坐标
//        float xAxisLeft = layout.getPrimaryHorizontal(index);//字符左边x坐标
//        float xAxisRight = layout.getSecondaryHorizontal(index);//字符右边x坐标

        return yAxisBottom;

    }

注意获取到的这个坐标是TextView的相对坐标。

我们可以通过TextView.getScrollY()获取textview展示的内容最上面一行的坐标,这样的话我们就可以算出当前字符串的在屏幕上的坐标位置。

相关文章

网友评论

      本文标题:Android TextView获取某个字符的坐标

      本文链接:https://www.haomeiwen.com/subject/hiowzxtx.html