2010-06-25 4 views
1

У меня есть экран с добавлением RitchTextField, который имеет собственный шрифт. Я хочу найти общее количество строк, которые может удерживать RitchTextField, чтобы избежать вертикальной прокрутки.Рассчитать возможное количество строк в RitchTextField

Я попытался сделать это, получив высоту RichTextField, а затем разделив его на высоту шрифта, однако проблема в использовании rtfField.getHeight() всегда возвращает текущую высоту поля и использует экраны getHeight() возвращает размер экрана, не принимая во внимание другие поля.

Например:

Размер экрана с помощью GetHeight() = 360. Размер шрифта с помощью:. This.rtfField.getFont() GetHeight() = 25 Всего Линии ~ 12

Однако делать ручной подсчет экрана только с комфортом отображает 8 строк.

ответ

1

Не уверен, если это то, что вы ищете, но я думаю, что вы хотите текущую высоту поля, деленное на высоту шрифта:

int lines = this.rtfField.getHeight()/this.rtfField.getFont().getHeight(); 
+0

Это то, что я пытаюсь сделать, однако высоту rtfField в изменяется с количеством вставленных строк до максимальной высоты, что не позволяет определить, сколько строк будет заполнено с самого начала. Я попытался использовать макеты контейнеров maxHeight, однако в этом случае возвращает 330, высота шрифта 25, чтобы вы получили 330/25 = 13.2. Однако сама коробка, похоже, поддерживает только 8 линий на этой высоте. – SS44

+0

Изменение высоты rtfField? Это звучит не так, как должно было случиться. Не уверен, что это поможет, но вы можете установить максимальные и минимальные размеры одинаковыми, и это должно привести к тому, что высота не изменится. –

+0

Спасибо, я постарался установить максимальную высоту, но опять же это будет отличаться на устройстве базой устройств, я также попытался установить флаг контейнера так, чтобы он использовал максимальную высоту, но даже без текста по умолчанию размер шрифта (одна линия). – SS44

Смежные вопросы