iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
Mobile Development

Flutter App 開發實戰系列 第 13

GridView 範例 [DAY 13]

  • 分享至 

  • xImage
  •  

GridView 範例

SliverGridDelegateWithFixedCrossAxisCount

範例1

GridView(
        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
          childAspectRatio: 1,
          crossAxisSpacing: 0,
          crossAxisCount: 2,
          mainAxisSpacing: 0,
        ),
       children: <Widget>[
         FlatButton(color: Colors.blueAccent,child: Text("1"),onPressed: (){},),
         FlatButton(color: Colors.blueAccent,child: Text("2"),onPressed: (){},),
         FlatButton(color: Colors.blueAccent,child: Text("3"),onPressed: (){},),
         FlatButton(color: Colors.blueAccent,child: Text("4"),onPressed: (){},),
         FlatButton(color: Colors.blueAccent,child: Text("5"),onPressed: (){},),
         FlatButton(color: Colors.blueAccent,child: Text("6"),onPressed: (){},),
       ],

     );

範例圖示(1)
https://ithelp.ithome.com.tw/upload/images/20200913/20130127sokzbqBYUx.png

範例2

gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
    childAspectRatio: 1,
    crossAxisSpacing: 10,
    crossAxisCount: 2,
    mainAxisSpacing: 0,
)

範例圖示(2)
https://ithelp.ithome.com.tw/upload/images/20200913/20130127A57dgo3lQm.png

範例3

gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
    childAspectRatio: 1,
    crossAxisSpacing: 10,
    crossAxisCount: 2,
    mainAxisSpacing: 20,
)

範例圖示(3)
https://ithelp.ithome.com.tw/upload/images/20200913/20130127ALicmksr9v.png

SliverGridDelegateWithMaxCrossAxisExtent

gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
    childAspectRatio: 1,
    crossAxisSpacing: 10,
    maxCrossAxisExtent: 100,
    mainAxisSpacing: 20,
)

畫面寬度為 414 、最大寬度不能超過 100 、間隔為 10
我們就可以來計算:
假設 crossCount 為 x 、 crossWidth 為 y 、 x 為正整數
我們就可以找到一組方程式 (414 - 10*(x-1))/x = y
https://ithelp.ithome.com.tw/upload/images/20200913/20130127vNsTyMftrH.png
可以看到如果最大寬度不能超過100中的最大值是96,個數也就是4個
範例圖示
https://ithelp.ithome.com.tw/upload/images/20200913/20130127YNhkW3eyoG.png


上一篇
GridView 屬性 [DAY 12]
下一篇
GridView 種類 [DAY 14]
系列文
Flutter App 開發實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言