GUI 布局算法概述

Ant*_*ton 6 algorithm layout

我正在寻找对用于 GUI 布局的算法的系统审查。我对那些偏向于速度而非复杂性的算法特别感兴趣,但除了“不使用约束解算器”之外,很难找到任何有用的东西。

到目前为止,我发现的最好的一篇是 Clemens Zeidler、Christof Lutteroth 和 Gerald Weber 的 Constraint Solving for Beautiful User Interface:How Solving Strategies Support Layout Aesthetics。不幸的是,它很短而且不是很具体。

到目前为止,布局算法的前景在我看来是这样的:

  • 每个人都喜欢的食火鸡几乎无处不在。

  • 奥克兰布局模型似乎没有人使用,但由于其作者是多产的作家,因此众所周知。

  • 当涉及到流布局(尤其是文本流)时,普遍讨厌的 HTML/CSS 组合完全破坏了前两者。

  • 接下来是桌面 GUI 框架中使用的算法,WPF、Qt 和 MigLayout for Swing 最受欢迎。(我还没有弄清楚它们的性能特征,但我记得与 WinForms 相比,WPF 布局速度令我感到失望——更快的绘图带来的收益被较慢的布局抵消了)

  • 还有一些似乎没人知道的游戏引擎 UI。

  • 其余的是古老的 GUI 工具包,它们通常将简单的网格容器作为最强大的布局工具。

我错过了什么重要的事情吗?