如何在list.generate中展开元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在list.generate中展开元素相关的知识,希望对你有一定的参考价值。
我正在尝试显示小部件列表(圆圈),但我想扩展它们并使圆圈占据整个页面。我试过不同的方法;我使用flexibe,flex和expand。但是,它们都没有奏效。你能推荐一下吗?提前致谢!编辑:这里是代码://步进圈是我试图在它们之间扩展的小部件
return Expanded(
flex: 10,
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children:
List<Widget>.generate( numberOfCircles,
(int index) {
return StreamBuilder(
stream: stepperBloc.statusStream,
initialData: {0:"incomplete", 1:"incomplete", 2:"incomplete"},
builder:(_, AsyncSnapshot statusSnapshot){
if(statusSnapshot.hasData){
return Row(
children:<Widget>[ Flexible(
flex:5,
child: StepperCircle(
index: index,
status: statusSnapshot.data[index],
// onTap: () => stepperBloc.statusSink({index: "selected"}),
),
)],
);
答案
您可以尝试使用PageView
小部件,它会扩展每个项目以填充屏幕(根据viewportFraction
值),您可以设置垂直或水平方向。
PageController controller = PageController(viewportFraction: 1.0);
return PageView(
controller: controller,
scrollDirection: Axis.vertical,
children: <Widget>[
Container(
color: Colors.red,
),
Container(
color: Colors.blue,
),
Container(
color: Colors.yellow,
),
],
);
更多信息:https://docs.flutter.io/flutter/widgets/PageView-class.html
以上是关于如何在list.generate中展开元素的主要内容,如果未能解决你的问题,请参考以下文章