Android - Как получить координаты персонажа в текстовом представлении

2

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

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

Теги:
textview
coordinates
char
character

2 ответа

0

Вот как можно получить координаты 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

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

layout.getPrimaryHorizontal(int offset)

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

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

  • 0
    Это сработало! Большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню