【发布时间】:2017-01-10 19:40:06
【问题描述】:
在 iOS 中,我非常喜欢删除情节提要并使用制图框架将所有内容放在代码中。这是从 Cartography 的 github 上偷来的:
constrain(view1, view2) { view1, view2 in
view1.width == (view1.superview!.width - 50) * 0.5
view2.width == view1.width - 50
view1.height == 40
view2.height == view1.height
view1.centerX == view1.superview!.centerX
view2.centerX == view1.centerX
view1.top >= view1.superview!.top + 20
view2.top == view1.bottom + 20
}
Android 是否有任何等价物?似乎新的约束布局是朝着正确方向迈出的一步,但我想以编程方式进行。
【问题讨论】:
-
人们想要以编程方式执行此操作的原因有很多,例如,人们正在开发具有预定义用户界面的应用程序以外的库,或者人们需要更改受用户交互影响的布局规范在运行时甚至更多原因......谷歌真的缺乏这个新功能的文档
-
另一个(简单)原因,@Polarbear0106 是,如果您需要使用 TransitionManager,尤其是
TransitionManager.beginDelayedTransition(root);,那么您需要手动指定您的布局更改,以便它们被渲染在下一关。所以,是的,有时您需要以编程方式修改内容。