作为一个长期写后端代码的程序员,偶尔需要糊一个 GUI,就会不可避免的陷入“纸笔草稿一分钟,布局调试一整天”的情况。刚入门写 VB6 的时候只要四个值:左边距离 /顶部距离 /长 /宽。虽然不够灵活但至少“所写即所得”。
但是现代布局似乎更喜欢用各种 layout/constraint/margin 之类,对于我来说除了实际运行一下根本想不出每个元素会被放在哪里,也看不出究竟是谁决定了谁的哪个属性。比如说 CSS 里的长度单位可以是100%
,这看起来像是在说“先决定外层元素大小,再决定内部元素大小”,但是 CSS 又允许内层元素撑大外层元素,意味着需要先决定内层内部元素大小再决定外层元素大小。
类似的还有比如“外层容器最大大小小于内层容器最小大小,溢出怎么办”或者是“外层容器最小大小大于内层容器最大大小,空白怎么办”。
这看上去就像是一坨橡皮筋把所有的控件连在一起,然后指望松手以后能得到那个想要的形状,然后大部分时候只能得到一团浆糊。
各位的脑内布局引擎都是怎么工作的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.