2017-05-18 5 views
2

カードウィジェットのテキストとアイコンの上部と下部にいくつかのパディングを追加しようとしています。私は、フラッターがコンテナでこれを行う簡単な方法を持っているが、他のウィジェットでこれを行う方法を見つけることができないことを発見しました(それらをコンテナでラップすることを除く)。これは私がこれまで持っているコードです:すべてのウィジェットのフラッターパッディング?

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) 
       ] 
      ) 
     ) 
     ) 
     ] 
    ) 
) 

だから、列の私の子供たちに、私は新しいコンテナを挿入することなく、上部と下部にいくつかのパディングを追加したいと思います。これは可能ですか?

答えて

5

あなただけchildとして別のWidget、あなたはすでにpaddingとして使用しているようなEdgeInsetsオブジェクトを受け取り、非常に単純なWidgetあるPaddingを、使用することができます。

Flutterの "継承を超える構成"というこのアプローチは非常に意図的です。 FlutterのGitter channelに関する賛否両論の最近の議論を見つけることができます。

+0

これは完全に機能しました。私はこれについてドキュメントを見つけただけで、コンテナやパディングを使用しても実際には違いは生じないと述べました。 TextやIconのような子どもがいなくても、ウィジェットのためにパディングを使うのは読みやすいようです。ありがとう:) –

関連する問題