动画滚动控制器顶部的ListView.builder导航后



ers,

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

我有一个ListView.builder,里面有100个项目(#1-100(。我可以反转列表,首先获得最近的(100(个类似facebook的订阅源。

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

_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]));

最新更新