gpt4 book ai didi

listview - Flutter:屏幕打开时自动滚动到底部

转载 作者:IT王子 更新时间:2023-10-29 06:38:42 27 4
gpt4 key购买 nike

我正在使用 onpressed() 向下滚动到 ListView 的底部,但我想实现无需按下按钮,

它必须在每次打开屏幕时自动滚动。我试着把它放在 initState() 里面它不工作但如果我按下按钮它会工作

如何让它自动滚动?

工作代码:

 floatingActionButton: new FloatingActionButton(child: 
Icon(Icons.arrow_downward),onPressed:_hola,)



_hola(){
print("inti state started successfully");
controller1.animateTo(
controller1.position.maxScrollExtent,
duration: const Duration(milliseconds: 10),
curve: Curves.easeOut,);
}

非工作代码: //这段代码打印成功,但没有真正调用函数

class HomeState extends State<MyNewMessages> {
@override
void initState()
{
super.initState();
print("hola is scrolling");
_hola;
}
);
}

在按下 float 按钮之前 Before Pressing Floating Button按下 float 按钮后 After Pressing Floating Button

最佳答案

当构建您的 ListView 或添加项目时(不确定您是如何做的),使用 SchedulerBinding.instance.addPostFrameCallback 更改下一帧的滚动位置。

SchedulerBinding.instance.addPostFrameCallback((_) {
controller1.animateTo(
controller1.position.maxScrollExtent,
duration: const Duration(milliseconds: 10),
curve: Curves.easeOut,);
});
}

关于listview - Flutter:屏幕打开时自动滚动到底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068541/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com