如何在颤振中为 ListView 设置 FloatingActionButton 的位置?
How set the position of a FloatingActionButton for a ListView in flutter?
我正在寻找一种解决方案,用于在带有 ListView 的 StatelessWidget 中设置 FAB 的位置。我有一个带有列的小部件,其中包含两个子项(ListView 和 FAB)。
第一期是FAB的立场,第二期是栏目背景。第二列隐藏了 ListView 的按钮。
如何将 FAB 悬停在 ListView 上?
class ListView extends StatelessWidget {
final List<Bouquet> bouquets;
ListView({@required this.bouquets});
final ScrollController _controller = new ScrollController();
@override
Widget build(BuildContext context) {
return Column(
children: [
Expanded(
child: ListView(
children: getChildren(),
padding: new EdgeInsets.all(0.0),
controller: _controller,
)),
Container(
color: Colors.red,
child: Row(children: [
Expanded(
child: FloatingActionButton(
child: Icon(Icons.arrow_upward),
onPressed: () => _controller.animateTo(0,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut),
mini: true,
))
]),
)
],
);
}
List<Widget> getChildren() {}
}
使用 Stack
小部件,您可以将小部件放在小部件上。我的建议:
@override
Widget build(BuildContext context) {
return Stack(
alignment: Alignment.bottomRight,
children: [
ListView(
children: getChildren(),
padding: new EdgeInsets.all(0.0),
controller: _controller,
),
FloatingActionButton(
child: Icon(Icons.arrow_upward),
onPressed: () => _controller.animateTo(0,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut),
mini: true,
)
],
);
}
我正在寻找一种解决方案,用于在带有 ListView 的 StatelessWidget 中设置 FAB 的位置。我有一个带有列的小部件,其中包含两个子项(ListView 和 FAB)。 第一期是FAB的立场,第二期是栏目背景。第二列隐藏了 ListView 的按钮。
如何将 FAB 悬停在 ListView 上?
class ListView extends StatelessWidget {
final List<Bouquet> bouquets;
ListView({@required this.bouquets});
final ScrollController _controller = new ScrollController();
@override
Widget build(BuildContext context) {
return Column(
children: [
Expanded(
child: ListView(
children: getChildren(),
padding: new EdgeInsets.all(0.0),
controller: _controller,
)),
Container(
color: Colors.red,
child: Row(children: [
Expanded(
child: FloatingActionButton(
child: Icon(Icons.arrow_upward),
onPressed: () => _controller.animateTo(0,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut),
mini: true,
))
]),
)
],
);
}
List<Widget> getChildren() {}
}
使用 Stack
小部件,您可以将小部件放在小部件上。我的建议:
@override
Widget build(BuildContext context) {
return Stack(
alignment: Alignment.bottomRight,
children: [
ListView(
children: getChildren(),
padding: new EdgeInsets.all(0.0),
controller: _controller,
),
FloatingActionButton(
child: Icon(Icons.arrow_upward),
onPressed: () => _controller.animateTo(0,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut),
mini: true,
)
],
);
}