Flutter 中 ListView.builder 中的反向列表
Posted
技术标签:
【中文标题】Flutter 中 ListView.builder 中的反向列表【英文标题】:Reverse list in ListView.builder in Flutter 【发布时间】:2019-08-01 09:47:30 【问题描述】:我想反转列表,我通过使用reverse: true,
实现了这一点。它正在工作,但列表已与底部对齐,并在列表中包含最少项目时在顶部显示空白。
Expanded(child: ListView.builder(
shrinkWrap: true,
reverse: true,
controller: _scrollController,
itemCount:order_response.orderDetails.length,
itemBuilder: (context, position) return orderListItemTile(width,height,order_response,position);,
),)
但是当我删除expanded()
小部件时,当项目增加时,它会按像素溢出。
ListView.builder(
shrinkWrap: true,
reverse: true,
controller: _scrollController,
itemCount:order_response.orderDetails.length,
itemBuilder: (context, position) return orderListItemTile(width,height,order_response,position);,
),
【问题讨论】:
【参考方案1】:除了反转列表之外,另一种解决方案可能是将 ListView
放在带有 alignment: Alignment.topCenter
的 Align
小部件中。在ListView
中也需要shrinkWrap: true
。
Align(
alignment: Alignment.topCenter,
child: ListView.builder(
reverse: true,
shrinkWrap: true,
...
...
)
)
【讨论】:
【参考方案2】:使用以下方法反转您的列表:
var reversedList = _response.orderDetails.reversed.toList();
【讨论】:
val
不能用于在 Dart 中声明变量。也许你对它在 Kotlin 中的用法感到困惑?在这种情况下,final
、var
或使用类型本身是合适的。
工作得很好。以上是关于Flutter 中 ListView.builder 中的反向列表的主要内容,如果未能解决你的问题,请参考以下文章
Flutter混合开发:Android中如何启动Flutter
Flutter混合开发:Android中如何启动Flutter
flutter系列之:在flutter中使用导航Navigator
Flutter 中 stateless 和 stateful widget 的区别[Flutter专题60]
FlutterFlutter 混合开发 ( 关联 Android 工程与 Flutter 工程 | 安卓页面中嵌入 Flutter 页面 | 安卓中启动 Flutter 页面 )