我正在try 向Card小部件中的一些文本和图标的顶部和底部添加一些填充.我发现Ffltter为容器提供了一种简单的方法,但似乎找不到使用其他小部件实现这一点的方法(除了将它们包装在容器中之外).这是我到目前为止得到的代码:

  body: new Container(
    padding: new EdgeInsets.all(10.0),
    child: new Column(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: <Widget> [
        new Card(
          color: Colors.white70,
          child: new Container(
            padding: new EdgeInsets.all(10.0),
            child: new Column(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: <Widget> [ //Padding between these please
                new Text("I love Flutter", style: new TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold)),
                new Icon(Icons.favorite, color: Colors.redAccent, size: 50.0)
              ]
            )
          )
        )
      ]
    )
  )

因此,在"我的子项"列中,我想在顶部和底部添加一些填充,而不必插入新的容器.这个是可能的吗?

推荐答案

你可以使用Padding,这是一个非常简单的Widget,只需要将另一个Widget作为child,将EdgeInsets对象作为padding,就像你已经在使用的那个对象一样.

在《颤栗》中,这种"组合重于继承"的方法是非常有意的.你可以找到一篇关于《Flutter Gitter channel》利弊的最新讨论.

Ios相关问答推荐

iOS中的分段拾取器—手柄点击已 Select 的项目

SWIFT中具有可选返回类型和泛型的网络请求

如何仅在TextField中的文本发生更改时才执行代码?

如何在SwiftUI中以一定Angular 绘制直线(&A)

iphone 11 和 iphone 12 对于相同的布局显示不同的结果

当 .searchable 修饰符处于活动状态时,如何将变量设置为 false?

长按 SwiftUI 更改项目的顺序

核心媒体基础知识,了解 CMSampleBuffer、CMBlockBuffer 和 CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer

AppCenter 错误:/usr/bin/xcodebuild 失败,返回码:65

包装在 AnyView 中时 UIViewControllerRepresentable 无法正常工作

为什么我不能让 passthrough 科目为 combine 工作?

在向我的 struct 添加属性后获取线程 10:EXC_BAD_ACCESS (code=EXC_I386_GPFLT)

使用swift将图像转换为A4大小的pdf

如何告诉 SwiftUI 视图绑定到嵌套的 ObservableObjects

NSFetchedResultsController 由字符串的第一个字母创建的部分

如何判断 `NSManagedObject` 是否已被删除?

如何以编程方式调用视图控制器?

iOS UITextView 或 UILabel 带有可点击的动作链接

xcode 5.1:libCordova.a 架构问题

错误 itms-90035 - Xcode