Как уменьшить высоту списка в зависимости от состояния его средства визуализации элементов

У нас есть требование показать список интервалов для встреч. Таким образом, каждый час расписания имеет набор из 10-минутных интервалов. Требование состоит в том, что если мы нажмем кнопку со стрелкой в ​​интервале 8:00, 9:00 часов, расположение часовых интервалов должно измениться с вертикального списка на горизонтальный список.

Для этого мы смоделировали систему следующим образом:

ScheduleComponent -> (содержит) -> List (Часы расписания) HourViewComponent - это средство визуализации элементов, которое отображает 10-минутные слоты на основе доступных встреч с помощью списка слотов (список слотов в 8:00 час).

Для списка слотов у нас есть компонент представления слотов в качестве средства визуализации элементов.

Теперь проблема в том, что когда мы нажимаем на слот 8:00, мы можем изменить HourViewSlot с VerticalState на горизонтальное состояние. Но высота контейнера не уменьшается в свернутом состоянии. Он занимает такой же размер, как и при вертикальном расположении!

Мы пробовали использовать атрибут variableRowHeight.

Мы попытались установить rowHeight в обработчике события нажатия кнопки в средстве визуализации элементов, но это привело к изменению высоты всех строк списка элементов. Мы хотим, чтобы изменилась только высота текущего часа.

Сейчас мы не уверены, является ли List правильным компонентом для использования. Пожалуйста помоги. текст ссылки


person Naveen Jakkani    schedule 20.01.2010    source источник


Ответы (1)


Я думаю, что вы на правильном пути с List, рендерерами элементов и variableRowHeight. Я подозреваю, что HourViewComponent не пересчитывает свою высоту и не пересчитывает ее неправильно. Может случиться так, что ничего, что вы делаете в обработчике событий, не запускает invalidateSize вызов или размеры каким-то образом вычисляются в неправильном порядке.

person Michael Brewer-Davis    schedule 20.01.2010