【发布时间】:2021-10-21 20:08:39
【问题描述】:
如何在 ListView 上添加类似于 Google Keep 的“固定项目”功能?
我尝试做 2 个列表视图,并将固定的一个放在列的顶部。但问题是它们分别滚动,如果我将列包装在 Singlechildscrollview 中,它只会给出错误。
我是在正确的轨道上做这件事还是有办法只使用一个列表视图?
【问题讨论】:
标签: flutter listview flutter-layout
如何在 ListView 上添加类似于 Google Keep 的“固定项目”功能?
我尝试做 2 个列表视图,并将固定的一个放在列的顶部。但问题是它们分别滚动,如果我将列包装在 Singlechildscrollview 中,它只会给出错误。
我是在正确的轨道上做这件事还是有办法只使用一个列表视图?
【问题讨论】:
标签: flutter listview flutter-layout
我认为 Singlechildscrollview 按我想要的方式工作。我只需要设置 ListView shrinkWrap: true 和 physics: NeverScrollableScrollPhysics()。我不确定这是否是一个好主意,因为大多数人都说 shrinkWrap 是一个相当繁重的操作。
SingleChildScrollView(
physics: ScrollPhysics(),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Pinned'),
PinnedListItemHere(), //ListView of Pinned Items
Divider(
height: 25.0,
thickness: 2.0,
),
Text('Others'),
UnpinnedListItemHere(), //ListView of Unpinned Items
],
),
),
【讨论】:
如果你想实现:
pinned 值 -> pinned = !pinned或者试试我刚刚找到的这个包:
【讨论】: