GridView

2020-08-09  本文已影响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,
       )
上一篇下一篇

猜你喜欢

热点阅读