dart - 将列表添加到不滚动的列
问题描述
因此,我将 UI 构建在 ListView 内,它可以滚动并且很好,我将在底部有许多相同小部件的实例,如何添加这些小部件而不将它们放在另一个 ListView 中?如果我这样做,用户可以滚动内部而不是父级。
我将从ContestBar
数据库中提取小部件的数量,该数据库还将包含每个小部件的信息。必须有一种方法来动态填充这些而不将它们放在列表视图中,因为我希望整个屏幕滚动而不仅仅是ContestBar
小部件。
这是代码...
@override
Widget build(BuildContext context) {
return RefreshIndicator(
onRefresh: _onRefresh,
child: ListView(
children: <Widget>[
Container(
width: double.infinity,
height: 150.0,
color: Colors.black,
),
ProfileBar(
displayName: 'Zach S.',
points: 1324,
balance: 256.15,
initials: 'ZS',
),
Container(
height: 64.0,
decoration: const BoxDecoration(
border: const Border(bottom: const BorderSide(width: 1.0, color: Colors.black12)),
),
padding: const EdgeInsets.symmetric(horizontal: 8.0, vertical: 16.0),
child: ListView(
scrollDirection: Axis.horizontal,
children: List<Padding>.generate(sortChipNames.length, (int index) {
return Padding(
padding: const EdgeInsets.only(right: 8.0),
child: ChoiceChip(
label: Text(sortChipNames[index]),
selected: _selectedChips.contains(index),
onSelected: (bool selected) {
setState(() {
_selectedChips.contains(index) ? _selectedChips.remove(index)
: _selectedChips.add(index);
});
},
),
);
}),
),
),
// Here is the instance of the same widget, this will eventually come from a database and have way more than 5.
ContestBar(),
ContestBar(),
ContestBar(),
ContestBar(),
ContestBar(),
],
),
);
}
解决方案
好的,我能够通过添加一个Flex
小部件,将direction
属性设置为Axis.vertical
并将其设置为小部件children
列表来使其工作ContestBar
。代码如下。
名单
final List<ContestBar> testContests = <ContestBar>[
ContestBar(),
ContestBar(),
ContestBar(),
ContestBar(),
ContestBar(),
];
小部件
Flex(
direction: Axis.vertical,
children: testContests,
),
推荐阅读
- encryption - 无法在 boost::asio 中限制 SSL/TLS 的密码
- github - Visual Studio,进行更改的人的昵称
- docker - Docker 部署在特定容器上
- javascript - Jest 给出 ReferenceError: require is not defined
- python - 无表单提交数据到 Flask
- mongodb - 苹果M1芯片如何安装Mongodb
- javascript - 合并 JavaScript 对象数组
- javascript - 如何让 .env 变量在 ejs 文件中工作?
- python - 如何计算 3D 数组中最内层数组的出现次数?
- python - spaCy 模式匹配 - OR 语句