Dart 如何根据父元素调整图像大小?
你们如何根据父元素的高度和宽度保持图像大小?从我当前的代码中,我得到了图像溢出错误。我没有为网格指定任何高度/宽度,我希望它能够覆盖整个网格空间,并自行调整大小 现在,网格已自动将自身划分为列和行Dart 如何根据父元素调整图像大小?,dart,flutter,Dart,Flutter,你们如何根据父元素的高度和宽度保持图像大小?从我当前的代码中,我得到了图像溢出错误。我没有为网格指定任何高度/宽度,我希望它能够覆盖整个网格空间,并自行调整大小 现在,网格已自动将自身划分为列和行 GridView.builder( controller: _scrollController, scrollDirection: Axis.vertical, gridDelegate: SliverGridDelegateWithFixedCrossAxisCo
GridView.builder(
controller: _scrollController,
scrollDirection: Axis.vertical,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
),
itemCount: snapitem.length,
itemBuilder: (context, int index) {
return InkWell(
child: Card(
child: Column(
children: <Widget>[
GridTile(
child: CachedNetworkImage(
imageUrl: snapitem[index].poster.toString(),
placeholder: Center(
child: CircularProgressIndicator(),
),
errorWidget: Icon(Icons.broken_image),
fit: BoxFit.fill,
),
),
ButtonTheme.bar(
child: ListTile(
title: Text(
snapitem[index].title,
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.w700,
),
),
),
)
],
),
),
splashColor: Colors.deepPurpleAccent,
);
},
);
GridView.builder(
控制器:\ u滚动控制器,
滚动方向:轴垂直,
gridDelegate:SliverGridDelegateWithFixedCrossAxisCount(
交叉轴计数:2,
),
itemCount:snapitem.length,
itemBuilder:(上下文,int索引){
回墨槽(
孩子:卡片(
子:列(
儿童:[
网格(
子:CachedNetworkImage(
imageUrl:snapitem[index]。poster.toString(),
占位符:中心(
子对象:CircularProgressIndicator(),
),
errorWidget:图标(图标。损坏的图像),
fit:BoxFit.fill,
),
),
钮扣柄(
孩子:ListTile(
标题:正文(
snapitem[索引]。标题,
样式:TextStyle(
颜色:颜色,白色,
fontWeight:fontWeight.w700,
),
),
),
)
],
),
),
splashColor:Colors.deepPurpleAccent,
);
},
);
我想要实现的是
我想要网格a卡,每张卡上面都有一个图像,底部是ListTile使用mediaquery
如果您希望您的图像为设备宽度的一半,可以将其用作:
width: Mediaquery.of(context).size.width / 2
告诉您设备屏幕大小的不是MediaQuery()
第一个问题,如果您不使用页眉或页脚,为什么要使用网格块?从网格_tile.dart:
if (header == null && footer == null)
return child;
因此,除非您打算添加页眉或页脚,否则不要使用网格块。接下来
由于CachedNetworkImage现在是该列的直接子级,因此可以将其包装为展开的。这将忽略CachedNetworkImage中的任何大小信息,只将其放入可用空间
看
和
要获得更多关于Flatter的帮助,请务必在每周三的“媒体”上查看Flatter社区和我们的现场帮助课程