是否可以从具有填充的列中排除1个小部件?

时间:2019-08-30 13:57:53

标签: flutter padding flutter-layout

我有一列带有要填充的按钮,但是最上面的小部件是我不想填充的行。

是否可以将行从填充中排除,还是必须分别为每个按钮定义填充?

3 个答案:

答案 0 :(得分:1)

您的行在列内吗?如果是,只需将您的行从列中移出,这样就不会得到填充。

答案 1 :(得分:0)

您可以创建一个单独的类,该类创建按钮并指定一次填充。然后,您可以一次又一次调用该类,以在“列”中创建所需数量的按钮。

 

    class MakeButton extends StatelessWidget{
      final String _buttonCaption;

      MakeButton(this._buttonCaption);

      @override 
      Widget build (BuildContext context){
        return Padding(
          padding: EdgeInsets.all(10),
          child: FlatButton(
              onPressed: () {},
              child: Text(
              _buttonCaption
              ),
            ),
        );
      }
    }

 

现在,您无需为“列”指定填充,并且“行”将没有任何填充。

 

    class Test extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            Row(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
                Text("Row DATA 1"),
                Text("Row DATA 2"),
                Text("Row DATA 3"),
              ],
            ),
            MakeButton("Flat Button 1"),
            MakeButton("Flat Button 2"),
            MakeButton("Flat Button 3"),
          ],
        );
      }
    }
 

它应该看起来像这样- Image

答案 2 :(得分:0)

尝试这种方法。

Column(
  children: <Widget>[
    Row(), // Row without padding
    Padding( // add Padding widget, make Column its child and put Buttons inside
      padding: your_padding_here, 
      child: Column(
        children: <Widget>[
          Button1(), 
          Button2(), 
        ],
      ),
    )
  ],
)