How to make flutter card auto adjust its height depend on content

前端 未结 3 741
名媛妹妹
名媛妹妹 2021-02-14 17:41

In the project im using image and text inside the flutter card, but the card return a fixed height. and then i also tried just using a card with an empty value, but it still ret

3条回答
  •  情歌与酒
    2021-02-14 18:04

    The problem comes from SliverGridDelegateWithFixedCrossAxisCount:

    Creates grid layouts with a fixed number of tiles in the cross axis
    This delegate creates grids with equally sized and spaced tiles.

    I recommend you to use flutter_staggered_grid_view: and to give up to AspectRatio widget. More about tiles here.

    body: StaggeredGridView.countBuilder(
       crossAxisCount: 2,
       itemCount: 6,
       itemBuilder: (BuildContext context, int index) => 
         Card(
           margin: const EdgeInsets.all(10.0),
           child: Container(
             child: Column(
               crossAxisAlignment: CrossAxisAlignment.start,
               children: [
                Image.network('https://upload.wikimedia.org/wikipedia/commons/6/66/An_up-close_picture_of_a_curious_male_domestic_shorthair_tabby_cat.jpg',
                  fit: BoxFit.fill,
                ),
                Padding(
                  padding: EdgeInsets.fromLTRB(16.0, 12.0, 16.0, 8.0),
                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Text("Cat",textAlign: TextAlign.center),
                    ],
                ),
             )],
           ),
         )
       ),
       staggeredTileBuilder: (int index) =>
         StaggeredTile.fit(1),
    )
    

提交回复
热议问题