代码之家  ›  专栏  ›  技术社区  ›  Andrea Grippi

颤振水平表

  •  4
  • Andrea Grippi  · 技术社区  · 8 年前

    我已经注意到了 tutorial 并完全实现了一个水平滚动列表。 现在,我想做的是创建一个垂直列表,其中每一行是一个水平列表。

    我尝试了不同的方法,但我一直认为,应该可以简单地将水平列表设置为垂直列表的子列表,但这不起作用。

    我的代码是:

    Widget build(BuildContext context) {
    return new Scaffold(
    
      body: Container(
          margin: EdgeInsets.symmetric(vertical: 20.0),
          height: 160.0,
          child: ListView(
            children: <Widget>[
              Text("First line"),
              HorizontalList(),
              Text("Second line"),
              HorizontalList()
            ],
          )
      ),
    
      drawer: new MyNavigationDrawer(),
    );
    
    }
    

    我还试着将不同的水平列表放入listtiles中,但结果是一样的。

    1 回复  |  直到 8 年前
        1
  •  9
  •   Dhaval Shah    8 年前

    我想你想要的是另一张单子里的单子 下面是您所遵循的示例程序的改编 构建方法如下:

     Widget build(BuildContext context) {
        Widget horizontalList1 = new Container(
          margin: EdgeInsets.symmetric(vertical: 20.0),
          height: 200.0,
          child: new ListView(
          scrollDirection: Axis.horizontal,
          children: <Widget>[
            Container(width: 160.0, color: Colors.red,),
            Container(width: 160.0, color: Colors.orange,),
            Container(width: 160.0, color: Colors.pink,),
            Container(width: 160.0, color: Colors.yellow,),
          ],
        )
        );
        Widget horizontalList2 = new Container(
            margin: EdgeInsets.symmetric(vertical: 20.0),
            height: 200.0,
            child: new ListView(
          scrollDirection: Axis.horizontal,
          children: <Widget>[
            Container(width: 160.0, color: Colors.blue,),
            Container(width: 160.0, color: Colors.green,),
            Container(width: 160.0, color: Colors.cyan,),
            Container(width: 160.0, color: Colors.black,),
          ],
        )
        );
        return new Scaffold(
          appBar: new AppBar(
            title: new Text(widget.title),
          ),
          body: new Center(
            child: new Container(
              child: ListView(
                scrollDirection: Axis.vertical,
                children: <Widget>[
                  horizontalList1,
                  horizontalList2,
                ],
              ),
            ),
          ), // This trailing comma makes auto-formatting nicer for build methods.
        );
    

    结果如下:

    enter image description here

    希望有帮助