【问题标题】:Flutter Container height not inheriting from ListView childFlutter Container 高度不继承自 ListView 子项
【发布时间】:2020-06-28 01:36:14
【问题描述】:

我正在构建一个 page.dart,我需要在子容器内构建一个动态 ListView,并且 ListView 高度是动态的,所以我无法为 Container 定义一个固定高度。

我的页面上面还有一些东西,那么它的结构实际上是:

Stack(
children: <Widget>[
  Container(),//Container
  Container(
   child: Column(
     children: <Widget>[
        Row(),
        Divider(),
        Row(),
        Divider(),
        Container(
          child: ListView.builder(
               //shrinkWrap: true, //tryied and not worked
               padding: EdgeInsets.all(10.0),
               itemBuilder: (context, index) =>
                  buildItem(index, items.item[index]),
               itemCount: items.length,
               reverse: false,
               controller: listScrollController,
           )//ListView
        )
     ]
   )//Column
  )//Container
 ]
)//Stack

由于我没有定义容器高度,因此列表视图内容没有出现。如果我为 Container 定义了一些高度,它会出现,但不继承 listview 内容,有时会让一些元素超出高度。

你有什么解决方法吗?

【问题讨论】:

  • 你试过在 Column 中使用 mainAxisSize:MainAxisSize.min 吗?
  • 现在试了,没用。
  • 你尝试过 shrinkWrap 和 mainAxisSize 吗??
  • 是的,没有成功:/

标签: listview flutter flutter-layout


【解决方案1】:

把这个包在脚手架里面!

Stack(children: <Widget>[
      Container(), //Container
      Container(
          child: Column(mainAxisSize: MainAxisSize.min, children: <Widget>[
        Row(),
        Divider(),
        Row(),
        Divider(),
        Container(
            child: ListView.builder(
          shrinkWrap: true, //tryied and not worked
          padding: EdgeInsets.all(10.0),
          itemBuilder: (context, index) => Text(
            '$index',
            textAlign: TextAlign.center,
          ),
          itemCount: list.length,
        ) //ListView
            )
      ]) //Column
          ) //Container
    ])

【讨论】:

  • 可以看上面的例子!它作为你的代码对我有用!如果它仍然无法正常工作,那是您没有在此处发布的代码问题。
猜你喜欢
  • 1970-01-01
  • 2020-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
相关资源
最近更新 更多