GridView

作者: 不二客 | 来源:发表于2020-08-09 09:24 被阅读0次

    GridView

    GridView({
        Key key,
        Axis scrollDirection = Axis.vertical,//列表的滚动方向
        bool reverse = false,
        ScrollController controller,
        bool primary,
        ScrollPhysics physics,
        bool shrinkWrap = false, //列表的长度是否仅包裹其内容的长度 当ListView嵌在一个无限长的容器组件中时,shrinkWrap必须为 
                                                true,否则Flutter会给出警告;
        EdgeInsetsGeometry padding, /间距
        @required this.gridDelegate,
           bool addAutomaticKeepAlives = true,//添加自动保持有效
        bool addRepaintBoundaries = true,//添加重绘边界
        bool addSemanticIndexes = true, //添加语义索引
        double cacheExtent, // 预渲染区域长度
        List<Widget> children = const <Widget>[],
        int semanticChildCount,
      }) 
    

    GridView.builder

    childrenDelegate = SliverChildBuilderDelegate(
             itemBuilder,
             childCount: itemCount,
             addAutomaticKeepAlives: addAutomaticKeepAlives,
             addRepaintBoundaries: addRepaintBoundaries,
             addSemanticIndexes: addSemanticIndexes,
           )
    

    GridView.custom

     const GridView.custom({
        Key key,
        Axis scrollDirection = Axis.vertical,
        bool reverse = false,
        ScrollController controller,
        bool primary,
        ScrollPhysics physics,
        bool shrinkWrap = false,
        EdgeInsetsGeometry padding,
        @required this.gridDelegate,
        @required this.childrenDelegate,
        double cacheExtent,
        int semanticChildCount,
        DragStartBehavior dragStartBehavior = DragStartBehavior.start,
      })
    

    GridView.count

    gridDelegate = SliverGridDelegateWithFixedCrossAxisCount(
             crossAxisCount: crossAxisCount,
             mainAxisSpacing: mainAxisSpacing,
             crossAxisSpacing: crossAxisSpacing,
             childAspectRatio: childAspectRatio,
           ),
           childrenDelegate = SliverChildListDelegate(
             children,
             addAutomaticKeepAlives: addAutomaticKeepAlives,
             addRepaintBoundaries: addRepaintBoundaries,
             addSemanticIndexes: addSemanticIndexes,
           )
    

    GridView.extent

    gridDelegate = SliverGridDelegateWithMaxCrossAxisExtent(
             maxCrossAxisExtent: maxCrossAxisExtent,
             mainAxisSpacing: mainAxisSpacing,
             crossAxisSpacing: crossAxisSpacing,
             childAspectRatio: childAspectRatio,
           ),
           childrenDelegate = SliverChildListDelegate(
             children,
             addAutomaticKeepAlives: addAutomaticKeepAlives,
             addRepaintBoundaries: addRepaintBoundaries,
             addSemanticIndexes: addSemanticIndexes,
           )
    

    相关文章

      网友评论

          本文标题:GridView

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