flutter GridView的简单应用,自定义item,然后栅栏显示

最近在学习flutter,但是总是感觉记忆失败,所以做下笔记以备后用,供需要的人用

//生成方式
body: new GridView.builder(
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
              crossAxisCount: 3,//每行显示几个
                  childAspectRatio: 4/5,//宽高比
          ),
          itemCount: productName.length,//item的个数
          itemBuilder: (BuildContext context,int index){
              //自定义的行 代码在下面
              return _showGridViewItem(context, productName[index], index);
          },
      ),
Widget _showGridViewItem(BuildContext context,String title,int count) {
    return InkWell(//用inkWell是为了添加点击事件
      onTap: (){
        Scaffold.of(context).showSnackBar(
            SnackBar(content: Text('$count')));
      },
      child: new Container(
        //给个0.5宽的边框
        decoration: BoxDecoration(
          border: Border.all(
            color: Colors.grey,
            width: 0.5,
          ),
        ),
        child: new Column(
          children: <Widget>[
            //一个图标
            new Container(
              padding: EdgeInsets.only(top: 20),
              child: new Icon(
                Icons.account_circle,
                size: 80,
              ),
            ),
            //一个文本
            new Container(
              padding: EdgeInsets.only(top: 10),
              child: new Text(
                title,
                textAlign: TextAlign.center,
                style: TextStyle(
                  fontSize: 16,
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章