Как собрать Windows Metro как панель инструментов?
Недавно я видел, как Windows 8 представляет на панели инструментов значки в стиле "Метро".
На изображении выше кажется, что некоторые виджеты получают в 2 раза большую ширину по сравнению с другими, так что весь список виджетов в определенной степени сбалансирован.
Мой вопрос заключается в том, используется ли описанный здесь алгоритм (решение проблемы разбиения) для достижения результата.
Кто-нибудь может дать мне несколько советов о том, как создать подобный дисплей, когда виджеты могут занимать несколько строк (например: виджет "Популярный сеанс" будет отображаться 2 столбца и 2 строки)
1 ответ
Алгоритм, называемый линейным разбиением, делит заданный диапазон положительных чисел на оптимальные k поддиапазонов, которые могут быть переформулированы как задачи линейного программирования, для которых динамическое программирование является решением. Ваша проблема здесь не похожа на проблему оптимизации, что означает, что там не так много целевой функции. Если бы у плиток были веса, и вам нужно было равномерно распределить их по нескольким страницам, то это было бы проблемой оптимизации. Таким образом, ответ на первый вопрос для меня НЕТ.
Расположение плиток в Metro выглядит намного проще, поскольку на самом деле это позволяет пользователю редактировать список, и автоматическая перекомпоновка плиток будет раздражать. поэтому все, что делает Metro, не позволяет вам создать новую строку, когда плитка может быть размещена в верхнем ряду.
Может быть, такая же простая техника должна работать у вас.