如何在Flutter中的FlatButton中丢弃填充?

时间:2019-03-08 12:20:44

标签: dart flutter

我连续有两个FlatButton。该行是一列,而该列又位于用于填充屏幕的容器中。该容器的填充为right:20left:20。我希望按钮从左到右20英寸,从右边到20英寸,以使列中的所有内容保持对齐。我知道FlatButton小部件具有默认填充,并且我已经尝试了此question中的解决方案,将按钮更改为GestureDectectors小部件可以对齐,但是并没有很好的用户体验,单击的区域可能太小。理想情况下,我想根据哪个按钮在左侧/右侧移除FlatButton的填充。这是我的代码

            Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              FlatButton(
                child: new Text('SIGN IN',
                    style: Theme.of(context).textTheme.body1),
                onPressed: () {
                  Navigator.push(
                      context, SignInPage(widget.onSignedIn));
                },

              ),
              new FlatButton(
                child: new Text(
                  'SIGN UP',
                  style: Theme.of(context).textTheme.body1,
                ),
                onPressed: () {
                  Navigator.push(
                      context, SignUpPage(widget.onSignedIn));
                },
              ),
            ]),

5 个答案:

答案 0 :(得分:2)

现在已弃用 TextButton 的 FlatButton

TextButton(
    style: TextButton.styleFrom(padding: EdgeInsets.all(0)),
    ...
)

答案 1 :(得分:0)

尝试使用选项'padding:EdgeInsets.only(取决于您要填充哪一侧)'

public function users(){
    return $this->hasMany('App\User');
} 

答案 2 :(得分:0)

例如使用零填充

padding: EdgeInsets.zero,

答案 3 :(得分:0)

SizedBox(
   height: 25,
   child: ElevatedButton(
             onPressed: onPressed,
             style: ElevatedButton.styleFrom(
                padding: EdgeInsets.zero,
                shape: RoundedRectangleBorder(
                borderRadius:
                   BorderRadius.circular(kDefaultPadding))),
                child: const Text("More"),
        )
)

答案 4 :(得分:0)

FlatButton 现已弃用,您可以使用 TextButton

即使您将 padding 设置为 0,仍然有一些 padding 剩余。要完全删除它,您可以按照@Arshak here 的建议使用 RawMaterialButton

示例:

RawMaterialButton(
    constraints: BoxConstraints(),
    padding: EdgeInsets.all(5.0), // optional, in order to add additional space around text if needed
    child: Text('Button Text')
)

enter image description here

我知道答案就在那里,但我花了几个小时才做到这一点。所以我想把它也添加为答案。