Можно ли получить координату х от символа в TextView в Android? Я не ищу координаты самого TextView, мне нужна координата последнего символа в TextView (многострочный)
заранее спасибо
Вот как можно получить координаты 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);
Использование:
layout.getPrimaryHorizontal(int offset)
Это просто в использовании. Вы просто перебираете макет, используя длину текста, который он использует.
Он вернет х персонажа. Таким образом, линии я все еще получаю от layout.getLineTop()
. Кстати, если вы используете layout.getLineTop()
, обратите внимание, что есть странное поведение, возможно, ошибка.