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,
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

 

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