【发布时间】:2023-03-26 05:15:01
【问题描述】:
我有这样的代码:
Column(children: [
Container(
alignment: Alignment.centerLeft,
child: IconButton(
color: theme.iconTheme.color,
icon: const Icon(Icons.arrow_back),
onPressed: () {
Navigator.pop(context);
},
),
),
Expanded(
child: ListView(
children: allOperations,
controller: listViewController,
),
),
]);
我想在构建小部件后滚动到底部。
WidgetsBinding.instance?.addPostFrameCallback((_) {
listViewController.jumpTo(listViewController.position.maxScrollExtent);
});
但它不起作用。始终保持大约 150 像素向下滚动。
有人遇到过这个问题吗?
更新
根据ListView 中的元素数量,它保持向下滚动的像素数。例如,如果我有 20 个元素,则底部将保持 50px 左右,如果 30 则大约 80px。
问题示例(假设小部件占据屏幕的所有高度,如果高于屏幕则可以滚动):
ListView 的全高:2000px
屏幕高度:600px
maxScrollExtent 应该是 1400 像素,但是是 1300 像素。
【问题讨论】:
标签: flutter dart flutter-layout