【发布时间】:2021-11-28 02:12:45
【问题描述】:
我正在尝试在 listView 的屏幕上显示顶部元素以完全显示或向上滚动。
child: NotificationListener<ScrollEndNotification>(
onNotification: (_) {
double h = 120;
double remaining = controller.position.pixels % h;
int offset = 0;
offset = (remaining > 60)
? ((controller.position.pixels ~/ h) + 1) * 120
: ((controller.position.pixels ~/ h)) * 120;
if (offset > 0)
controller.animateTo(offset.toDouble(),
duration: Duration(milliseconds: 500), curve: Curves.easeInOut);
return true;
},
child: ScrollConfiguration(
behavior: NoEffectScrollBehaviour(),
child: ListView.builder(
padding: EdgeInsets.zero,
controller: controller,
physics: BouncingScrollPhysics(),
itemBuilder: (c, i){.......}
但是控制器没有滚动到指定位置。 我怎样才能使它成为 listView Elenent 来显示或动画偏移?
编辑:
我正在滚动结束事件上进行转换。问题是我无法在 NotificationListner 中做到这一点。
【问题讨论】:
标签: flutter dart flutter-listview