约束布局 vs 相对布局

8

我一直使用相对布局来设计我的视图,因为当您将东西从右边缘、中心或仅相对于彼此定位时,它的功能非常好。这在不同的屏幕尺寸上都很好,因此视图更加分散。

随着约束布局的引入,我发现它更强大,并且能够实现相同的目的,同时提供更大的灵活性。

那是否意味着相对布局不再需要,可以始终用约束布局替换?是否存在不应该使用约束布局而应该使用相对布局的情况?

谢谢


1
就我个人而言,我想不出任何一种 RelativeLayout 可以处理而 ConstraintLayout 不能的场景。除非你有特定的原因(例如,在滚动列表中有大量的 RelativeLayouts 导致性能不佳),否则我不知道将许多现有的 RelativeLayout 代码重写为 ConstraintLayout 是否值得。 - CommonsWare
谢谢@CommonsWare,我正在开始一个新项目,我想知道是否应该使用我目前已知并使用过的相对布局,还是默认使用约束布局,或者是否有需要考虑哪种布局的情况。从您的评论中看来,由于这是新的代码库,所以我应该立即选择约束布局,是吗? - Snake
2
ConstraintLayout应该会给你更大的灵活性。代价是在库中增加了约100KB(以及相应的方法计数增加),并且缺少“机构知识”,因为像Stack Overflow这样的地方对ConstraintLayout的描述要少得多...哦,我不知道...随便挑一个网站。 :-) 我无法告诉您什么对您的情况最好。 - CommonsWare
1个回答

2

这个布局与您可能已经在使用的其他布局(如RelativeLayout或LinearLayout)没有太大区别。 属性与相对布局使用的属性非常相似。

这主要是作为一个视觉导向的工具而设计的。可视化编辑器旨在成为开发人员与其布局交互的主要方式。

这个新布局的主要目标是帮助开发人员创建复杂的布局,以便快速地进行渲染优化。 实际上,它的目的是减少其他布局类型引起的布局层次结构。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接