为什么在一个空的Android活动默认布局文件中,RelativeLayout
被替换成了 ConstraintLayout
?我需要知道为什么我们应该使用 ConstraintLayout
,它还能给我们提供哪些其他好处。
为什么在一个空的Android活动默认布局文件中,RelativeLayout
被替换成了 ConstraintLayout
?我需要知道为什么我们应该使用 ConstraintLayout
,它还能给我们提供哪些其他好处。
根据Xaver Kapeller的说法,“ConstraintLayout的主要目的是解决RelativeLayout的问题,并且做得非常好。您可以做很多以前无法使用RelativeLayout实现的事情。而且,您可以简化布局,就像以前从未做过的那样。此外,它还修复了RelativeLayout长期存在的性能问题,即在测量/布局阶段的双重计算。因此,我们可以获得更好的性能、更多的灵活性和更简单的布局,所有这些都包含在一个不错的包中。”
使用ConstraintLayout的另一个好处是,它允许你使用拖放式编辑器以类似于Xcode中的Interface Builder方式直观地创建布局,从而避免了RelativeLayout不能实现的问题。
ConstraintLayout:这个新的布局管理器是你的应用程序的一个灵活的布局管理器,允许你创建动态的用户界面,而无需嵌套多个布局。它作为一个支持库分发,与Android Studio紧密耦合,并向后兼容到API Level 9。
乍一看,ConstraintLayout与RelativeLayout相似。 然而,ConstraintLayout是专为Studio设计的, 它可以有效地表达您的应用程序设计, 从而使您依赖更少的布局,如LinearLayout、FrameLayout、TableLayout或GridLayout。 最后,借助内置的自动约束推断引擎, 您可以自由地根据自己的喜好设计UI,让Android Studio去完成繁重的工作。
RelativeLayout
不能做的事情,而且性能要好得多。 - Xaver KapellerRelativeLayout
从未做过的那样。我鼓励任何人尝试一下,它很棒。当然不要使用图形编辑器,它们总是糟糕的。直接编辑XML以充分利用您的布局。 - Xaver KapellerConstraintLayout可以做许多RelativeLayout无法做到的事情
- user6685522