Android TextView и получение строки текста - PullRequest
10 голосов
/ 17 февраля 2012

У меня есть TextView, текст которого может содержать много строк. После того, как он будет создан и настроен динамически, я бы хотел

  1. Получить текст в заданной строке и
  2. Знайте ширину и высоту этой линии.

Как мне это сделать?

1 Ответ

20 голосов
/ 17 февраля 2012

Если я правильно понимаю, ответ на вопрос 2:

textView.getLineBounds (int line, Rect bounds)

Ширина в пикселях должна быть abs(bounds.right - bounds.left); а высота abs(bounds.bottom - bounds.top)

Ваш первый вопрос немного сложнее, но что-то вроде этого должно сделать необходимую магию:

Layout layout = textView.getLayout();
String text = textView.getText().toString();
int start=0;
int end;
for (int i=0; i<textView.getLineCount(); i++) {
    end = layout.getLineEnd(i);
    line[i] = text.substring(start,end);
    start = end;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...