Jetpack Compose中,约束布局仍然比嵌套的列和行更受欢迎吗?

13

在使用XML创建复杂UI时,建议避免嵌套视图(RelativeLayoutLinearLayout),并鼓励使用ConstraintLayout实现复杂布局。

现在有了Compose,仅凭外观看,Compose中的ConstraintLayout很难理解,从我的角度来看,使用ConstraintLayout比嵌套ColumnRow花费更多时间去思考视图应该是什么样子的。

老实说,我宁愿使用嵌套ColumnRow而不是Compose中的ConstraintLayout,但我不确定它的缺点是什么。

2个回答

15

简短回答:不,嵌套的Row/Column应该没问题。


Compose旨在减少嵌套布局的惩罚,并允许更轻松地组合布局。View系统为每个创建的View需要非平凡的开销,因此鼓励避免过多嵌套它们和创建额外的View

虽然很难说没有情况下嵌套Row/Column会导致性能问题而ConstaintLayout可以很好地工作,但当使用嵌套Row/Column可以更轻松地表达所需布局时,您不应立即转向ConstraintLayout


3
Compose可以高效地处理嵌套布局,使其成为设计复杂UI的好方法。这是相对于Android Views而言的一种改进,因为在Android Views中,由于性能原因需要避免使用嵌套布局。来自Android文档

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