Flutter 将特定高度设置为颤振';s卡小部件
我正在尝试扩展一个给定的卡片网格的高度,这样它们就能够容纳比当前更多的信息。这些卡由收缩的Flutter 将特定高度设置为颤振';s卡小部件,flutter,dart,Flutter,Dart,我正在尝试扩展一个给定的卡片网格的高度,这样它们就能够容纳比当前更多的信息。这些卡由收缩的GridView.count()包装,因为我将在这个小部件下面放置更多的东西 现在,卡片看起来像这样,你可以看到其中一张溢出了底部的文本,这是一种不希望出现的行为(特别是当我希望卡片有一些底部填充时): 在这种情况下,我想知道是否可以手动更改卡的高度。我可能会保留这个具体配置并删除一些信息,因为我喜欢卡目前保持其1x1比例的事实,但出于好奇,我想知道如何做到这一点 我尝试了很多方法,比如用容器或大小框来包
GridView.count()
包装,因为我将在这个小部件下面放置更多的东西
现在,卡片看起来像这样,你可以看到其中一张溢出了底部的文本,这是一种不希望出现的行为(特别是当我希望卡片有一些底部填充时):
在这种情况下,我想知道是否可以手动更改卡的高度。我可能会保留这个具体配置并删除一些信息,因为我喜欢卡目前保持其1x1比例的事实,但出于好奇,我想知道如何做到这一点
我尝试了很多方法,比如用容器或大小框来包装卡片
小部件,并手动设置高度,但这些方法都没有改变任何东西
我想问题可能出在GridView
本身。这就是它的样子:
return FutureBuilder<List<Event>>(
future: new EventsService().getEventsForCoords(),
builder: (context, AsyncSnapshot<List<Event>> snapshot) {
if (snapshot.hasData) {
return GridView.count(
crossAxisCount: 2,
shrinkWrap: true,
children: generateProximityEventCards(snapshot.data));
} else {
return CircularProgressIndicator();
}
});
因此,总结一下:我如何改变卡片的高度,使它们能够容纳更多的信息
谢谢 GridView并不是真正设计成具有不同大小的磁贴。一个好的选择是使用这个包
现在您的瓷砖大小甚至可以是动态的
若要在某个地方自动填充一些可变长度的文本,可以使用包
List<Widget> generateProximityEventCards(List<Event> eventList) {
// Render each card
return eventList.map((Event ev) {
return Card(
semanticContainer: true,
clipBehavior: Clip.antiAliasWithSaveLayer,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
elevation: 5,
margin: EdgeInsets.all(7),
child: SizedBox(
height: 600,
child: Column(
children: <Widget>[
Image(
alignment: Alignment.topCenter,
fit: BoxFit.fitWidth,
image: ev.imageUrl,
height: 110,
width: 200,
),
Container(
child: Text(ev.name),
padding: EdgeInsets.only(left: 10, right: 10),
),
Container(
child: Text(ev.startDate.toString()),
padding: EdgeInsets.only(left: 10, right: 10),
),
Container(
child: Text(ev.address),
padding: EdgeInsets.only(left: 10, right: 10),
),
],
),
));
}).toList();
}