在具有动态高度的同一页面上颤动两个 listview.builder

Posted

技术标签:

【中文标题】在具有动态高度的同一页面上颤动两个 listview.builder【英文标题】:Flutter two listview.builder on same page with dynamic height 【发布时间】:2019-08-12 06:58:01 【问题描述】:

我正在使用颤振。我有两个可用项目和不可用项目的动态列表。 我想以显示完整可用项目列表然后完整不可用项目列表的方式显示这两个列表,并且颤振将动态决定长度。

谢谢。

【问题讨论】:

【参考方案1】:

这是一个小示例,应为可用项目显示红色容器,为不可用项目显示蓝色项目。

List<int> unavailable;
List<int> available;

Expanded(
    child: CustomScrollView(slivers: <Widget>[
  SliverList(
    delegate: SliverChildBuilderDelegate(
      (BuildContext context, int index) 
        final item = available[index];
        if (index > available.length) return null;
        return Container(color: Colors.red, height: 150.0); // you can add your available item here
      ,
      childCount: available.length,
    ),
  ),
  SliverList(
    delegate: SliverChildBuilderDelegate(
      (BuildContext context, int index) 
        final item = unavailable[index];
        if (index > unavailable.length) return null;
        return Container(color: Colors.blue, height: 150.0); // you can add your unavailable item here
      ,
      childCount: unavailable.length,
    ),
  )
]));

【讨论】:

以上是关于在具有动态高度的同一页面上颤动两个 listview.builder的主要内容,如果未能解决你的问题,请参考以下文章

颤动中具有相同单元格高度的动态交错网格

如何在具有颤动的可滚动视图中使用具有可变高度内容的TabView?

动态设置两个浮动DIVS的高度

在垂直列表视图中颤动动态高度水平列表视图

如何在颤动中绘制自定义动态高度曲线形状?

如何在颤动中创建具有固定宽度和高度的颜色框?