Алгоритм панелей макета потока? - PullRequest
2 голосов
/ 12 февраля 2011

В графических интерфейсах есть панели макета потока, которые изменяют размер панели до удобного и удобного расстояния. С учетом прямоугольников произвольного размера и прямоугольника контейнера, какой алгоритм можно использовать, чтобы все виджеты подходили аккуратно?

Спасибо

1 Ответ

0 голосов
/ 12 февраля 2011

Существует множество различных алгоритмов компоновки.Большинство из них довольно просты, и это хорошо, потому что сложные часто ведут себя «странно».

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

Затем, начиная с первого виджета, ширина виджетов суммируется (включая пробелы), и как только суммарная ширина виджетов становится больше ширины панелей, начинается следующая строка.

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

Виджеты с наибольшей высотой в строке определяют высоту этого ряда.

Теперь вы можете выровнятьвиджеты для каждой строки (по центру на панели или на базовой линии и т. д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...