将项目放入颤动后将列表视图滚动到底部

问题描述 投票:0回答:1

我想在渲染小部件后将Listview滚动到底部。尝试了以下代码,但在呈现Listview之前调用了它。

  ScrollController _lvScrollCtrl = new ScrollController();
  @override
  void initState() {
    getData();
    loadListviewData();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _lvScrollCtrl.animateTo(_lvScrollCtrl.position.maxScrollExtent,
          duration: const Duration(milliseconds: 500), curve: Curves.easeOut);
    });
    super.initState();
  }

我还尝试将Listview的reverse属性设置为true。但这会将所有项目带到Expanded小部件的底部。我只希望普通的Listview向下滚动到末尾以显示Load上的最新更新。 :/

listview flutter flutter-layout flutter-animation
1个回答
0
投票

我将以下代码移到return语句之前的build函数中,并且它运行良好。刚刚实现的addPostFrameCallback回调仅在当前帧结束后才被调用一次。因此,我需要一次又一次地设置它以保持其调用状态。

  WidgetsBinding.instance.addPostFrameCallback((_) {
      _lvScrollCtrl.animateTo(_lvScrollCtrl.position.maxScrollExtent,
          duration: const Duration(milliseconds: 500), curve: Curves.easeOut);
    });
© www.soinside.com 2019 - 2024. All rights reserved.