我正在使用Flutter列出有关电影的信息。现在我想要左边的封面图片是圆角图片。我做了以下,但它没有奏效。谢谢!
getItem(var subject) {
var row = Container(
margin: EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
Container(
width: 100.0,
height: 150.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8.0)),
color: Colors.redAccent,
),
child: Image.network(
subject['images']['large'],
height: 150.0,
width: 100.0,
),
),
],
),
);
return Card(
color: Colors.blueGrey,
child: row,
);
}
如下
使用ClipRRect
它将完美地工作
new ClipRRect(
borderRadius: new BorderRadius.circular(8.0),
child: Image.network(
subject['images']['large'],
height: 150.0,
width: 100.0,
),
)
你也可以使用带有颤动的CircleAvatar
CircleAvatar(
radius: 20,
backgroundImage: NetworkImage('https://via.placeholder.com/140x100')
)
使用ClipRRect
你需要硬编码BorderRadius
,所以如果你需要完整的圆形东西,请改用ClipOval
。
ClipOval(
child: Image.network(
"image_url",
height: 100,
width: 100,
fit: BoxFit.cover,
),
),
new Container(
width: 48.0,
height: 48.0,
decoration: new BoxDecoration(
shape: BoxShape.circle,
image: new DecorationImage(
fit: BoxFit.fill,
image: new NetworkImage("path to your image")
)
)),
试试这种方式
Container(
width: 100.0,
height: 150.0,
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.cover,
image: NetworkImage('Path to your image')
),
borderRadius: BorderRadius.all(Radius.circular(8.0)),
color: Colors.redAccent,
),
对于图像使用这个
ClipOval(
child: Image.network(
'https://url to your image',
fit: BoxFit.fill,
),
);
而对于Asset Image使用此功能
ClipOval(
child: Image.asset(
'Path to your image',
fit: BoxFit.cover,
),
)