Я пытаюсь определить высоту TextView
до, которую она рисует. Для этого я использую следующий код:
TextView textView = (TextView) findViewById(R.id.textview);
textView.setText("TEST");
int widthSpec = MeasureSpec.makeMeasureSpec(LayoutParams.MATCH_PARENT, MeasureSpec.EXACTLY);
int heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
textView.measure(widthSpec, heightSpec);
System.out.println("MeasuredHeight: " + textView.getMeasuredHeight());
Выходной сигнал MeasuredHeight: 28
. В этом нет ничего плохого.
Однако, когда я даю TextView
длинную текстовую строку, поэтому происходит перенос, она по-прежнему дает высоту одной строки вместо двух:
(...)
textView.setText("TESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTEST");
(...)
Вывод MeasuredHeight: 28
, где я ожидал бы MeasuredHeight: 56
.
Почему он не дает мне правильное значение и как я могу достичь нужного значения?