Flutter   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了flutter – Listview滚动到小部件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何滚动到列表视图中的特殊小部件?
例如,如果我按下特定按钮,我想自动滚动到ListView中的某个Container.

new ListView(children: <Widget>[
             new Container(...),new Container(...),#scroll for example to this container 
             new Container(...)
      ]);

解决方法

到目前为止,最简单的解决方案是使用Scrollable.ensureVisible(context).因为它可以为您完成所有工作并使用任何小部件大小.使用GlobalKey获取上下文.

问题是ListView不会呈现不可见的项目.这意味着您的目标很可能根本不会被构建.这意味着你的目标没有上下文;在没有更多工作的情况下阻止您使用该@L_618_4@.

最后,最简单的解决方案是通过SingleChilScrollView替换ListView并将子项包装到column中.示例:

class ScrollView extends StatelessWidget {
  final dataKey = new GlobalKey();

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      priMary: true,appBar: new AppBar(
        title: const Text('Home'),),body: new SingleChildScrollView(
        child: new column(
          children: <Widget>[
            new SizedBox(height: 160.0,width: double.infinity,child: new Card()),new SizedBox(height: 160.0,// desTination
            new Card(
              key: dataKey,child: new Text("data\n\n\n\n\n\ndata"),)
          ],bottomNavigationBar: new RaisedButton(
        onPressed: () => Scrollable.ensureVisible(dataKey.currentContext),child: new Text("Scroll to data"),);
  }
}

注意:然这允许轻松滚动到所需的项目,但请虑此@L_618_4@仅适用于小的预定义列表.至于更大的列表,你会遇到性能问题.

但是可以使Scrollable.ensureVisible与ListView一起工作;然这需要更多的工作.

大佬总结

以上是大佬教程为你收集整理的flutter – Listview滚动到小部件全部内容,希望文章能够帮你解决flutter – Listview滚动到小部件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。