Я использую 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,
);
}
следующим образом
flutter
flutter-layout
Лю Силонг
источник
источник
Ответы:
Использовать
ClipRRect
будет работать отличноисточник
fit: BoxFit.fill
, что выглядит неплохо.Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(3.0), border: Border.all(color: Colors.grey[300])), child: ClipRRect( borderRadius: BorderRadius.circular(3.0), child: Image.network( uri, fit: BoxFit.fill, width: imageDimension, height: imageDimension, ), ), )
Вы также можете использовать
CircleAvatar
, который идет с флаттеромисточник
backgroundImage: member[index].picture == null ? Image(image: AssetImage('assests/no-image.png')) : NetworkImage( member[index].picture,
Используя,
ClipRRect
вам нужно жестко запрограммироватьBorderRadius
, поэтому, если вам нужен полный круговой материал, используйтеClipOval
вместо него.источник
Попробуйте вместо этого, сработало для меня:
источник
источник
Для изображения используйте это
В то время как для изображения актива используйте это
источник
В новой версии флаттера и темы материала вам также необходимо использовать виджет «Padding», чтобы изображение не заполняло свой контейнер.
Например, если вы хотите вставить закругленное изображение в AppBar, вы должны использовать отступы, иначе ваше изображение всегда будет таким же высоким, как AppBar.
Надеюсь, это кому-то поможет
источник
вы можете использовать ClipRRect следующим образом:
вы можете установить свой радиус или пользователь только для topLeft или внизу слева, например:
источник
Используйте ClipRRect с установленным свойством изображения соответствия: BoxFit.fill
источник
Используйте ClipRRect, это решит вашу проблему.
источник
Используйте этот способ в этом круге, изображение также работает + у вас есть предварительный загрузчик также для сетевого изображения:
источник
Попробуйте, это работает хорошо.
источник
пользовательское украшение Изображение для контейнера.
источник