美文网首页
18.ListView.build

18.ListView.build

作者: 凯司机 | 来源:发表于2020-06-10 15:30 被阅读0次

    通过构造函数中的children传入所有的子Widget有一个问题:默认会创建出所有的子Widget。

    但是对于用户来说,一次性构建出所有的Widget并不会有什么差异,但是对于我们的程序来说会产生性能问题,而且会增加首屏的渲染时间。

    我们可以ListView.build来构建子Widget,提供性能。


    2.2.1. ListView.build基本使用

    ListView.build适用于子Widget比较多的场景,该构造函数将创建子Widget交给了一个抽象的方法,交给ListView进行管理,ListView会在真正需要的时候去创建子Widget,而不是一开始就全部初始化好。

    该方法有两个重要参数:

    itemBuilder:列表项创建的方法。当列表滚动到对应位置的时候,ListView会自动调用该方法来创建对应的子Widget。类型是IndexedWidgetBuilder,是一个函数类型。

    itemCount:表示列表项的数量,如果为空,则表示ListView为无限列表。

    我们还是通过一个简单的案例来认识它:

    classMyHomeBodyextendsStatelessWidget{

      @override

      Widget build(BuildContext context) {

        return ListView.builder(

          itemCount: 100,

          itemExtent: 80,

          itemBuilder: (BuildContext context, int index) {

            return ListTile(title: Text("标题$index"), subtitle: Text("详情内容$index"));

          }

        );

      }

    }

    相关文章

      网友评论

          本文标题:18.ListView.build

          本文链接:https://www.haomeiwen.com/subject/yslptktx.html