Как мне получить высоту объекта GWT в пикселях? Я пытаюсь найти метод getHeight или что-то подобное ..

gwt
15
Ztyx 26 Мар 2010 в 13:03

2 ответа

Лучший ответ

Вероятно, вы ищете getOffsetHeight() (наследуется каждой частью пользовательского интерфейса от UiObject):

Получает высоту смещения объекта в пикселях. Это общая высота объекта, включая такие украшения, как граница, поля и отступы.

Также есть getClientHeight() из Element:

Возвращает внутреннюю высоту элемента в пикселях, включая отступы, но не высоту горизонтальной полосы прокрутки, границу или поле.

Вы можете получить доступ к базовому элементу каждого UiObject (то есть к виджетам и т. Д.) Через getElement() метод.

Обязательно убедитесь, что элемент виден во время считывания размера, иначе вы получите 0.

27
Daniel Langdon 29 Ноя 2012 в 06:12
2
Согласно документации, это должно работать. Однако на практике он всегда возвращает 0. Вы знаете, что это такое?
 – 
Sébastien Tromp
12 Сен 2011 в 18:00
Тромп: Трудно диагностировать проблему с такой скудной информацией;) Я не могу вспомнить, какие свойства CSS (display? float?) Могут повлиять на высоту, как видно в дереве DOM. На самом деле элемент может иметь нулевую высоту, но поле - это «заполнение» ... Возможностей много - я бы порекомендовал просто задать новый вопрос по вашей проблеме здесь, в Stack Overflow :)
 – 
Igor Klimer
12 Сен 2011 в 21:38
Я не думаю, что это включает маржу.
 – 
Glen Pierce
6 Май 2016 в 03:25
Он всегда возвращает 100 (как ширину, так и высоту). Ясно, что это неправильный метод.
 – 
Tomáš Zato - Reinstate Monica
24 Ноя 2018 в 19:26

Действительно существует getOffsetHeight () , но он просто дает общую высоту объекта, включая такие украшения, как граница и отступы, но не поля . 1 Вы можете получить элемент и использовать getClientHeight () , который дает внутреннюю высоту элемента в пикселях, включая отступы, но не высоту горизонтальной полосы прокрутки, границу или поле .

Таким образом, получить полную визуализированную высоту, включая поля, не представляется возможным.

1
liftarn 17 Июн 2013 в 16:42