Flutter 颤振中的水平列表

Flutter 颤振中的水平列表,flutter,listview,dart,horizontal-scrolling,flutter-widget,Flutter,Listview,Dart,Horizontal Scrolling,Flutter Widget,我遵循这一点,完全实现了一个水平滚动列表。 现在,我想做的是创建一个垂直列表,其中每一行都是一个水平列表 我尝试了不同的方法,但我一直认为应该可以简单地将水平列表设置为垂直列表的子列表,但它不起作用 我的代码是: Widget build(BuildContext context) { return new Scaffold( body: Container( margin: EdgeInsets.symmetric(vertical: 20.0), heigh

我遵循这一点,完全实现了一个水平滚动列表。 现在,我想做的是创建一个垂直列表,其中每一行都是一个水平列表

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

我的代码是:

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(),
);

}
小部件构建(构建上下文){
归还新脚手架(
主体:容器(
边缘:边缘组。对称(垂直:20.0),
身高:160.0,
子:ListView(
儿童:[
文本(“第一行”),
水平列表(),
文本(“第二行”),
水平列表()
],
)
),
抽屉:新的MyNavigation抽屉(),
);
}

我还尝试将各种水平列表放在ListTiles中,但结果是一样的。

我想你想要的是另一个列表中的列表 下面是您所遵循的示例程序的改编 构建方法如下所示:

 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.
    );
小部件构建(构建上下文){
Widget horizontalList1=新容器(
边缘:边缘组。对称(垂直:20.0),
高度:200.0,
子:新列表视图(
滚动方向:轴水平,
儿童:[
容器(宽度:160.0,颜色:Colors.red,),
容器(宽度:160.0,颜色:Colors.orange,),
容器(宽度:160.0,颜色:Colors.pink,),
容器(宽度:160.0,颜色:Colors.yellow,),
],
)
);
Widget horizontalList2=新容器(
边缘:边缘组。对称(垂直:20.0),
高度:200.0,
子:新列表视图(
滚动方向:轴水平,
儿童:[
容器(宽度:160.0,颜色:Colors.blue,),
容器(宽度:160.0,颜色:Colors.green,),
容器(宽度:160.0,颜色:Colors.cyan,),
容器(宽度:160.0,颜色:Colors.black,),
],
)
);
归还新脚手架(
appBar:新的appBar(
标题:新文本(widget.title),
),
正文:新中心(
子容器:新容器(
子:ListView(
滚动方向:轴垂直,
儿童:[
水平仪1,
水平仪2,
],
),
),
),//此尾随逗号使生成方法的自动格式设置更方便。
);
结果是:

希望能有帮助