Фактическая ширина текста Android - PullRequest
3 голосов
/ 29 декабря 2010

Мне требуется фактическая ширина текста из TextView.

Чтобы объяснить это, вот мое описание TextView:

  1. TextView лежит в LinearLayout с некоторыми внутренними отступами.
  2. TextView настроен так, чтобы заполнить ширину и обернуть высоту.
  3. TextView имеет набор leftCompoundDrawable и rightCompoundDrawable.
  4. Кроме того, имеется отступ для текста textview с левой составной прорисовки.1012 *
  5. Текст из текстового представления может быть многострочным.

Что я имел в виду из text из TextView - это свойство TextView, которое можно установить с помощьюandroid:text свойство из XML или путем вызова setText () в TextView.

Вот что я делаю.

[ScreenWidth]-[LeftCompundDrawableIntrinsic Width]-[RightDrawabaleIntrinsicWidth]-[LeftCompoundDrawablePadding]

есть ли какой-либо метод из фреймворка, который может точно рассчитатьэто?

Вот изображение, описывающее мой TextView

TextView

1 Ответ

0 голосов
/ 29 декабря 2010

Попробуйте это:

TextView tv;
Rect rc=new Rect();
//...
for(int i=0; i < tv.getLineCount(); i++)
{
   tv.getLineBounds(line, rc);
   Log.v(TAG, "Line #"+i+", left="+rc.left+", right="+rc.right);
}
...