【问题标题】:Does Padding widget provide extra facility which Container widget doesn't?Padding 小部件是否提供了 Container 小部件不提供的额外功能?
【发布时间】:2020-09-02 13:20:04
【问题描述】:

Padding 小部件的 padding 属性在 Container 小部件中也可用。那么使用Padding 小部件而不是Container 小部件有什么意义呢?我发现Paddingconst 构造函数,而Container 没有。这是使用Padding 而不是Container 的唯一原因吗?

【问题讨论】:

  • AFAIK Container 扩展以适应其父级的大小。填充仅添加周围的填充而不填充父级。我可能错了。就个人而言,我总是使用容器而不是填充
  • @Sidak 我也曾经使用Container 而不是Padding。但我注意到Padding 提供了const 构造函数,而Container 没有。如果我不使用t need to use other Container` 特定属性,这就是使用Padding 而不是Container 的原因吗?

标签: flutter flutter-widget


【解决方案1】:

两者之间没有任何区别。如果您提供 Container.padding 参数,Container 只需为您构建一个 Padding 小部件。

容器不直接实现其属性。相反,Container 将许多更简单的小部件组合到一个方便的包中。例如,Container.padding 属性使容器构建一个 Padding 小部件,而 Container.decoration 属性使容器构建一个 DecoratedBox 小部件。如果您觉得 Container 很方便,请随意使用它。如果没有,请随意以任何满足您需求的组合构建这些更简单的小部件。

事实上,Flutter 中的大多数小部件只是其他更简单小部件的组合。组合而非继承是构建小部件的主要机制。

Source.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 2021-02-20
    • 2021-11-29
    • 2021-10-26
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    相关资源
    最近更新 更多