我想对这个 ListTile 应用自动滚动,
Container(
height: 70,
width: double.maxFinite,
child: ListView.builder(
controller: _controller,
key: itemKey,
itemCount: 10,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('demo ${index + 1}'),
);
},
),
),
我声明了这个
final itemKey = GlobalKey();
final _controller = ScrollController();
我把它放在小部件构建之后......
if (_controller.hasClients) {
_controller.animateTo(_controller.position.maxScrollExtent,
duration: const Duration(milliseconds: 500), curve: Curves.easeInOut);
}
您可以使用以下命令在构建第一帧后对列表进行动画处理addPostFrameCallback
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
if (_controller.hasClients) {
_controller.animateTo(_controller.position.maxScrollExtent,
duration: const Duration(milliseconds: 500),
curve: Curves.easeInOut);
}
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)