1. ホーム
  2. android

すべてのウィジェットにFlutter paddingを適用しますか?

2023-10-19 03:54:55

質問

カードウィジェットのテキストとアイコンの上下にパディングを追加しようとしています。flutterにはコンテナに対してこれを行う簡単な方法があることがわかりましたが、他のウィジェットに対してこれを行う方法が見つからないようです(コンテナで包むことを除いて)。これは今のところ私が持っているコードです。

  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 として childEdgeInsets オブジェクトのように、すでに padding .

Flutterにおけるこの"composition over inheritance"のアプローチは非常に意図的なものです。その長所と短所についての最近の議論は、Flutterの Gitterチャンネル .