Android - Как получить координаты персонажа в текстовом представлении - PullRequest
0 голосов
/ 01 марта 2019

Можно ли получить координату х от символа в TextView в Android?Я не ищу координаты самого TextView, мне нужна координата последнего символа в TextView (многострочный)

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Вот как получить координаты x и y конкретного символа.offset - это индекс нужного символа в строке textView.Эти координаты относительно родительского контейнера

Layout layout = textView.getLayout();
if (layout == null) { // Layout may be null right after change to the text view
    // Do nothing
}

int lineOfText = layout.getLineForOffset(offset);
int xCoordinate = (int) layout.getPrimaryHorizontal(offset);
int yCoordinate = layout.getLineTop(lineOfText);
0 голосов
/ 01 марта 2019

Использование:

layout.getPrimaryHorizontal(int offset)

Прост в использовании.Вы просто перебираете макет, используя длину текста, который он использует.

Он вернет х символа.Таким образом, линии я все еще получаю от layout.getLineTop().Кстати, если вы используете layout.getLineTop(), обратите внимание, что есть странное поведение, возможно, ошибка.

...