如何在一行内对齐小部件

时间:2019-09-04 11:52:49

标签: flutter flutter-layout

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

执行填充操作是一种静态解决方案,它在某些设备中给我带来溢出错误,我想针对通用设备我不知道如何做到这一点。

请帮助

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

2 个答案:

答案 0 :(得分: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: () {}),
            ],
          ),
        ),
      ),
    );
  }
}

enter image description here

答案 1 :(得分:1)

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

(I)使用mainAxisAlignment

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

(II)使用Spacer()

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