Flutter 如何在颤振中改变导风板的形状?
我想在一个ListTile小部件中显示一个图像,它应该是这样的 这是我的密码:Flutter 如何在颤振中改变导风板的形状?,flutter,flutter-layout,Flutter,Flutter Layout,我想在一个ListTile小部件中显示一个图像,它应该是这样的 这是我的密码: Padding( padding: EdgeInsets.symmetric(vertical: 0.0, horizontal: 20.0), child: Card( color: Color
Padding(
padding: EdgeInsets.symmetric(vertical: 0.0, horizontal: 20.0),
child: Card(
color: Colors.white,
child: ListTile(
leading: Container(
child: Image.network((orientation == Orientation.portrait
? image.portrait
: image.landscape),
fit: BoxFit.cover)
),
title: Text(terms[index].title),
subtitle: Text(terms[index].videoNumber.toString() + " Videos"),
trailing: Icon(
Icons.arrow_forward_ios,
color: Colors.lightBlueAccent,
),
),
),
);
这导致输出低于预期
我应该怎么做才能使图像看起来像上面那样展开。您可以将ListTile的填充设置为0:
...
child: ListTile(
contentPadding: EdgeInsets.all(0),
leading: ...
);
但即便如此,您也可以看到,领先者只占据上半部分,而不是卡的整个高度:
...
Card(
color: Colors.blue,
child: ListTile(
contentPadding: EdgeInsets.all(0),
leading: ...
结果是:您可以使用堆栈同时包含ListTile和主要图标,但许多内容都必须硬记录。在这种情况下,我建议对行使用ClipRRect:
Padding(
padding: EdgeInsets.symmetric(
vertical: 0.0, horizontal: 20.0),
child: ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Container(
height: 70,
color: Colors.white,
child: Row(
children: <Widget>[
Container(
color: Colors.red,
width: 70,
height: 70,
child: Icon(Icons.cake, color: Colors.white),
),
SizedBox(width: 10),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Text('Test Title'),
Text('Test Video',
style: TextStyle(color: Colors.grey))
],
),
),
Icon(Icons.arrow_forward_ios,
color: Colors.blue),
],
),
),
),
);
填充(
填充:EdgeInsets.symmetric(
垂直:0.0,水平:20.0),
孩子:ClipRRect(
边界半径:边界半径。圆形(10),
子:容器(
身高:70,
颜色:颜色,白色,
孩子:排(
儿童:[
容器(
颜色:颜色,红色,
宽度:70,
身高:70,
子:图标(图标。蛋糕,颜色:颜色。白色),
),
尺寸箱(宽度:10),
扩大(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
横轴对齐:
CrossAxisAlignment.start,
儿童:[
文本(“测试标题”),
文本('测试视频',
样式:TextStyle(颜色:Colors.grey))
],
),
),
图标(Icons.arrow\u forward\u ios、,
颜色:颜色。蓝色),
],
),
),
),
);
结果:将圆角添加到容器中,或在行内使用容器而不是引线当你说
在行内使用容器时,你的意思是根本不使用ListTile吗?在列表tile中不使用行,然后在行内添加容器它很接近,但这完全不是我想要的@AbhishekSharma您需要将主要容器的背景色更改为与图标背景色相同的颜色。为了便于视觉解释,我只将主容器颜色设置为红色。问题是我从网络上获取图像。如何获得需要填充的图像颜色。@AbhishekSharma我通常使用这个工具:我的坏,我刚刚看到来自后端的json响应包含backgroundColor属性。它成功了。再次感谢。