Эта ошибка указывает на то, что виджет Expanded
должен быть помещен в Flex widget
. Гибкие виджеты включают в себя строки, столбцы и т. Д. Подумайте, хотите ли вы, чтобы внутри контейнера было несколько элементов, и хотите ли вы, чтобы они были горизонтальными или вертикальными.
Быстрое решение - заключить Expanded
в Row
или Column
, но это зависит от того, что вы хотите.
Вот пример использования вашего кода:
class Test extends StatelessWidget {
final _clients = ["1","2","3","4","5"];
@override
Widget build(BuildContext context) {
return Container(
color: Colors.red,
child: Row( //or column
children: <Widget>[
Expanded(
child: ListView.builder(
padding: EdgeInsets.all(0.0),
itemCount: _clients.length,
itemBuilder: (context, index) {
final client = _clients[index];
return Dismissible(
key: Key(client),
direction: DismissDirection.startToEnd,
onDismissed: (direction) {print(direction);},
background: Container(color: Color(0xff171e24)),
child: Text("Client: " + client)
);
}
),
),
//add another item if you want its a row or column after all :-)
],
)
);
}
}
Дайте знать, если у вас появятся вопросы!
ИЗМЕНИТЬ
Поскольку вы сказали, что он вложен в столбец, попробуйте использовать Expanded()
, чтобы растянуть его по Flex Widget
.
Здесь показано:
class Test extends StatelessWidget {
final _clients = ["1","2","3","4","5"];
@override
Widget build(BuildContext context) {
return Column(
children: <Widget> [
Expanded( //RIGHT HERE
child: Container(
color: Colors.red,
child: Row( //or column
children: <Widget>[
Expanded(
child: ListView.builder(
padding: EdgeInsets.all(0.0),
itemCount: _clients.length,
itemBuilder: (context, index) {
final client = _clients[index];
return Dismissible(
key: Key(client),
direction: DismissDirection.startToEnd,
onDismissed: (direction) {print(direction);},
background: Container(color: Color(0xff171e24)),
child: Text("Client: " + client)
);
},
),
),
//add another item if you want its a row
],
),
),
),
],
);
}
}
person
Anthony Sette
schedule
16.07.2019