如何在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中展开元素的主要内容,如果未能解决你的问题,请参考以下文章

在 Perl 正则表达式中展开环境变量

使用循环或 List.generate 时如何获取容器宽度?

如何在 Kotlin 中展平列表列表?

如何在 Javafx 中展开标签栏

如何在 Java 8 中展平地图内的列表

展开并在行中展开时,如何在不更改布局的情况下包装小部件列表?