【问题标题】:How to align widgets inside a row如何在一行内对齐小部件
【发布时间】:2020-01-07 07:33:32
【问题描述】:

我想在行的开头和结尾对齐我的小部件,但我无法做到这一点?我很困惑该怎么办

填充是一种静态解决方案,它会在某些设备中出现溢出错误,我想为通用的所有设备实现它,我不知道该怎么做。

请帮忙

Padding(padding:EdgeInsets.only(top:60,left:30,right:30),child:
  Row(
    children: <Widget>[                    
       Cancel_btn,
       Retry_btn
     ],
   )
)

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

    最少的代码

    import 'package:flutter/material.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(),
            body: Container(
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween, // magic is here
                children: <Widget>[
                  RaisedButton(child: Text('Cancel'), onPressed: () {}),
                  RaisedButton(child: Text('Retry'), onPressed: () {}),
                ],
              ),
            ),
          ),
        );
      }
    }
    

    【讨论】:

      【解决方案2】:

      有很多方法可以做到这一点。

      (一)使用mainAxisAlignment

      Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween, // add this
        children: [
          Child1(),
          Child2(),
        ]
      )
      

      (二)使用Spacer()

      Row(
        children: [
          Child1(),
          Spacer(), // or add this
          Child2(),
        ]
      )
      

      【讨论】:

        猜你喜欢
        • 2021-11-20
        • 1970-01-01
        • 1970-01-01
        • 2021-09-14
        • 2020-10-23
        • 2018-11-08
        • 1970-01-01
        • 2021-12-09
        • 2021-02-06
        相关资源
        最近更新 更多