在这里介绍两种实现网格布局方法: 1、通过 GridView.count 实现网格布局 2、通过 GridView.builder 实现网格布局
参数详解
属性 | 说明 |
---|---|
crollDirection | 滚动方向 |
everse | 组件反向排序 |
ontroller | 滚动控制(滚动监听) |
rimary | 如果内容不足,则用户无法滚动 而如果[primary]为true,它们总是可以尝试滚动。 |
hysics | 滑动类型设置 |
lwaysScrollableScrollPhysics() | 总是可以滑动 |
everScrollableScrollPhysics | 禁止滚动 |
ouncingScrollPhysics | 内容超过一屏 上拉有回弹效果 |
lampingScrollPhysics | 包裹内容 不会有回弹 |
hrinkWrap | 默认false 内容适配 |
adding | 内边距 |
rossAxisCount | 列 数量 |
ainAxisSpacing | 垂直子 Widget 之间间距 |
rossAxisSpacing | 水平子 Widget 之间间距 |
hildAspectRatio | 子 Widget 宽高比例 |
ddAutomaticKeepAlives | 默认true |
ddRepaintBoundaries | 默认true |
ddSemanticIndexes | 默认true |
acheExtent | 设置预加载的区域 |
hildren | 子元素 |
emanticChildCount | 将提供语义信息的子代数量 |
ragStartBehavior | |
ridView.builder | 独有属性 |
ridDelegate | 一个控制 GridView 中子项布局的委托。 |
temBuilder | 遍历数返回Widget |
itemCount | 子控件数量 |
import 'package:flutter/material.dart';
void main () => runApp(GridApp());
class GridApp extends StatelessWidget{
@override
Widget build(BuildContext context ){
return MaterialApp(
title:'GridApp Widget',
home:Scaffold(
body:GridView.count(
padding:const EdgeInsets.all(15.0),
crossAxisSpacing: 10.0,
crossAxisCount: 3,
children: <Widget>[
const Text('忍龙黑'),
const Text('战神4'),
const Text('鬼泣3'),
const Text('鬼泣5'),
const Text('猎天使魔女2'),
const Text('猎天使魔女1')
],
)
),
);
}
}