как написать менеджер макетов? - PullRequest
2 голосов
/ 28 октября 2010

Я хотел бы написать менеджер раскладки для j2me. У меня уже есть виджеты и панели (панель - это набор виджетов в этом контексте). Теперь я хотел бы добавить управление макетом dynimc, чтобы при вызове doLayout на самой внешней панели внутренние виджеты и панели перестраивались в соответствии с шириной и высотой устройства.

Мне было интересно, есть ли какие-либо хорошо известные шаблоны для менеджеров по расположению.

Ответы [ 3 ]

2 голосов
/ 29 октября 2010

Каждый объект пользовательского интерфейса должен возвращать «минимальный размер (ш, ч)».Затем вам нужен алгоритм, который обходит все ваши объекты, разделяет доступную область на куски и присваивает каждому куску объект.Вы можете разделить его на дерево в зависимости от релевантности объекта.

0 голосов
/ 10 апреля 2015

По моему опыту, мои менеджеры по компоновке развивались в соответствии с платформой (X11, VT100, Windows) и их характеристиками.Однако я нашел общие характеристики.Вот хорошая точка для чтения / начала, которая включает шаблоны проектирования в наши проблемы с графическим интерфейсом.

Справка: Диспетчер макетов с использованием шаблонов проектирования

0 голосов
/ 28 октября 2010

Обычный подход, который я знаю, состоит в том, чтобы сохранить каждый Displayable в коллекции Stack таким образом, чтобы текущая панель / экран всегда была сверху Stack.И когда пользователь нажимает кнопку «назад», вы просто должны открыть предыдущий экран / панель поверх стека.

Пример можно найти здесь

...