listview - 导航后将滚动 Controller 动画化到 ListView.builder 的顶部

标签 listview navigation dart scrollview flutter

各位,

目标:使用我的 ListView.builder 导航到页面并立即看到列表的最新(顶部)条目,然后向下滚动以查看较旧的条目。

我有一个包含 100 个项目的 ListView.builder(#1-100)。我可以反转列表以首先获取最新 (100) 的类似 facebook 的提要。

在 ListView 上使用 float 操作按钮,我可以使用下面的按钮成功跳转到列表顶部:

 _postscrollController.animateTo(     
 _scrollController.position.maxScrollExtent 
                            curve: Curves.easeOut,
                            duration: const Duration(milliseconds: 10))

但是,当导航到包含 ListView.builder 的页面时,我无法自动调用上述内容。当我打开应用程序并从主屏幕导航到列表时,它从列表的最底部 (1) 开始,我必须向上滚动才能到达顶部。

如有任何意见/建议,我们将不胜感激。

太棒了!

最佳答案

这是一个非常简单的示例,如何反转列表,而不是整个 ListView:

import 'package:flutter/material.dart';

main() => runApp(MaterialApp(home: MyHomePage()));

List<String> listData = [
  'oldest',
  'older',
  'old',
  'new',
  'newer',
  'newest',
];

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // reverse the order of the list data
    List<String> reversedListData = listData.reversed.toList();

    return Scaffold(
      appBar: AppBar(),
      body: ListView.builder(
        itemCount: reversedListData.length,
        itemBuilder: (BuildContext context, int index) {
          // use reversed list to build list item
          return ListTile(title: Text(reversedListData[index]));
        },
      ),
    );
  }
}

或者作为替代方案,您也可以将索引转换为倒计时:

int reversedIndex = listData.length - 1 - index;
return ListTile(title: Text(listData[reversedIndex]));

关于listview - 导航后将滚动 Controller 动画化到 ListView.builder 的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51722429/

相关文章:

具有主页和后退按钮的 Android 工具栏

inheritance - 何时使用 Dart 中的接口(interface)?

flutter - VSCode 未在 Dart 代码中显示函数参数列表

java - 具有自定义适配器的ListView子类: basic Java Q

android - 滚动列表一次查看一项

jQuery 移动 : Listview Filter Search Callback Function

android - Flutter 从 1.5 升级到 1.7.4 后 APK 大小翻倍?

listview - 钛JS : Is it possible to group a collection alphabetically in a ListView using data binding?

extjs - Sencha Touch 导航 View - 更改标题在后退按钮上不起作用

css - 无法正确对齐我的 CSS 菜单