persistentFooterButtons

persistentFooterButtons

有人能给我解释一下如何把floatingaction按钮放在persistentfooterbuttons的中间吗?我错过了一些东西。

  List _footer() {
return <Widget>[
  new ButtonBar(
    children: <Widget>[
      new Container(
        child: new Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            new FloatingActionButton(
              backgroundColor: Colors.redAccent,
              onPressed: () => {},
            ),
          ],
        ),
      )
    ],
  )
];}

= =
 @override  Widget build(BuildContext context) {
return new Scaffold(
  appBar: new AppBar(
    title: new Text("Question"),
  ),
  body: _body(),
  persistentFooterButtons: _footer(),
);  }

最佳答案

我看了scaffold的代码,下面是persistentfooterButton的创建方式:

new Container(
  decoration: new BoxDecoration(
    border: new Border(
      top: Divider.createBorderSide(context, width: 1.0),
    ),
  ),
  child: new SafeArea(
    child: new ButtonTheme.bar(
      child: new SafeArea(
        top: false,
        child: new ButtonBar(
          children: widget.persistentFooterButtons
        ),
      ),
    ),
  ),
)

你可以在这里看到,你的纽扣被纽扣条包裹着。现在让我们看看下面的按钮栏代码,默认对齐方式是mainAxisAlignment.end。我想这符合材料指南。
const ButtonBar({
  Key key,
  this.alignment: MainAxisAlignment.end,
  this.mainAxisSize: MainAxisSize.max,
  this.children: const <Widget>[],
}) : super(key: key);

颤振框架正在更新,但直到今天(2018年6月8日),您不能使用PersistentFooterButtons将按钮置于中心。
解决方案:我建议你按照我的回答把你的按钮放在屏幕的中央底部。

07-27 23:44