【问题标题】:How to expand elements in list.generate如何扩展 list.generate 中的元素
【发布时间】:2019-05-21 02:44:41
【问题描述】:

我正在尝试显示小部件(圆圈)列表,但我想扩展它们并使圆圈占据整个页面。我尝试了不同的方法;我使用了 flexibe、flex 和扩展。但是,它们都不起作用。你能推荐吗? 提前致谢! 编辑:这是代码: // stepper circle 是我试图在它们之间扩展的小部件

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"}),
              ),

            )],
          );

【问题讨论】:

  • 向我们展示您正在使用的代码
  • 完成;你能检查一下吗?
  • 仍然不确定你想做什么。可以画图吗?

标签: listview flutter expand


【解决方案1】:

您可以尝试使用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2012-04-22
    • 2021-09-29
    • 1970-01-01
    • 2019-02-09
    相关资源
    最近更新 更多