Вы можете использовать виджет IntrinsicHeight
, поскольку ваш Card
не имеет предопределенной высоты.
Виджет, размер дочернего элемента которого соответствует внутренней c высоте дочернего элемента. Этот класс полезен, например, когда доступна неограниченная высота, и вы хотите, чтобы дочерний элемент, который в противном случае попытался бы бесконечно расширяться, чтобы вместо этого увеличивать себя до более разумной высоты.
Примечание. Этот класс относительно дорогой, потому что он добавляет этап спекулятивного макета перед финальной фазой макета. По возможности избегайте его использования. В худшем случае этот виджет может привести к макету с размером O (N²) по глубине дерева.
ListView.builder(
itemBuilder: (context, index) {
// wrapped the card widget with an intrinsic height
return IntrinsicHeight(
child: Card(
color: Color(0xff8c6ac9),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10)),
child: Row(
children: <Widget>[
Expanded(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text('Text2'),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text('Text3'),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text('Text4'),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text('Text5'),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text('Text6'),
),
],
),
),
Container(
decoration: BoxDecoration(
color: Color(0xff9778ce),
borderRadius: BorderRadius.only(
bottomRight: Radius.circular(10),
topRight: Radius.circular(10))),
child: Column(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Icon(
Icons.delete,
color: Colors.white,
),
Icon(
Icons.edit,
color: Colors.white,
),
],
mainAxisAlignment: MainAxisAlignment.spaceAround,
),
width: 40,
),
],
),
),
);
},
),
ВЫХОД:
введите описание изображения здесь