有人能给我解释一下如何把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将按钮置于中心。
解决方案:我建议你按照我的回答把你的按钮放在屏幕的中央底部。