Raj*_*Jr. 8 listview flutter flutter-sliver flutter-layout flutter-animation
我正在使用 onpressed() 向下滚动到列表视图的底部,但我想在不按下按钮的情况下实现这一点,
它必须为每个屏幕打开自动滚动。 我试图把它放在 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,);
}
Run Code Online (Sandbox Code Playgroud)
Non Working Code: //此代码打印成功,但并未真正调用该函数
class HomeState extends State<MyNewMessages> {
@override
void initState()
{
super.initState();
print("hola is scrolling");
_hola;
}
);
}
Run Code Online (Sandbox Code Playgroud)
Jac*_*ips 17
在构建 ListView 或添加项目时(不确定你是如何做的),用于SchedulerBinding.instance.addPostFrameCallback更改下一帧的滚动位置。
SchedulerBinding.instance.addPostFrameCallback((_) {
controller1.animateTo(
controller1.position.maxScrollExtent,
duration: const Duration(milliseconds: 10),
curve: Curves.easeOut,);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7909 次 |
| 最近记录: |