在垂直列表内添加动态高度水平列表视图

Rah*_*var 5 android listview ios dart flutter

我在垂直列表中添加水平列表视图。它不显示任何内容

 @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: new ListView.builder(
            itemCount: 3,
            scrollDirection: Axis.vertical,
            itemBuilder: (context, position) {
              if (position == 0) {
                return Container(
                  child: Text("First rwo"),
                );
              } else if (position == 1) {
                return Container(
                  child: Text("second  rwo"),
                );
              } else if (position == 2) {
                return Container(
                    child: ListView.builder(
                        scrollDirection: Axis.horizontal,
                        itemCount: 4,
                        shrinkWrap: true,
                        itemBuilder: (context, pos) {
                          return Text("List ");
                        }));
              }
            }));
  }
Run Code Online (Sandbox Code Playgroud)

当我将height属性添加到位置2时,container它可以工作。但是我想要动态高度。

SingleChildScrollView 是另一种选择,但不适用于无限列表。

Jor*_*ies 7

切换到 aRow内 a SingleChildScrollview

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: new ListView.builder(
        itemCount: 3,
        scrollDirection: Axis.vertical,
        itemBuilder: (context, position) {
          if (position == 0) {
            return Container(
              child: Text("First rwo"),
            );
          } else if (position == 1) {
            return Container(
              child: Text("second  rwo"),
            );
          } else if (position == 2) {
            return SingleChildScrollView(
              scrollDirection: Axis.horizontal,
              child: Row(
                children: [Text("List"), Text("List"), Text("List"), Text("List")],
              ),
            );
          }
        },
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

  • 但是 Flutter 框架没有办法在不构建每个孩子的情况下计算高度。所以你要么拥有固定高度的无限水平滚动视图,要么拥有固定长度的动态高度水平滚动视图,你不能同时拥有它。 (4认同)