Мои элементы Listview выходят из вида и отображаются в ListTile, который находится ниже моего Listview, я не понимаю, что я делаю неправильно в своем коде.Пожалуйста, посмотрите на изображения ниже, вы можете увидеть конечную точку представления списка, а на другом изображении мои элементы выходят за пределы этой конечной точки.Я публикую свой код ниже, пожалуйста, посмотрите и помогите мне решить эту проблему.
Вот мои элементы Listview выходят из поля зрения.Ниже приведен код:
class _CartFinalSummaryState extends State<CartFinalSummary> {
final cartSummary = new StoreConnector<List<CartItem>, List<CartItem>>(
converter: (store) => store.state,
builder: (context, list) => new Padding(
padding: const EdgeInsets.all(8.0),
child: new Container(
margin: new EdgeInsets.only(top: 5.0, left: 5.0, right: 5.0),
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
new Text(
"Quantity: (${getTotalQuantity(list)})",
style: new TextStyle(
fontSize: 15.0,
fontWeight: FontWeight.w700
),
),
],
),
),
),);
final listCartItem = new StoreConnector<List<CartItem>,
List<CartItem>>(
converter: (store) => store.state,
builder: (context, list) => new Container(
child: new Flexible(
child: new Stack(
children: <Widget>[
new ListView.builder(
scrollDirection: Axis.vertical,
itemCount: list ==0 ? null : list.length,
itemBuilder: (context, index){
return new Column(
children: <Widget>[
new ListTile(
title: new Text(
list[index].product
.name.toString(),
style: new TextStyle(fontWeight: FontWeight.bold,
fontSize: 18.0),),
subtitle: new Text(list[index].quantity.toString()
+ " x " + list[index].product.price.toString()),
trailing: new Text("€"+(list[index].product.price *
list[index].quantity).toString(),
style: new TextStyle(fontWeight: FontWeight.bold,
fontSize: 18.0)),
),
new Divider(
)
],
);
}),
],
),
),
));
@override
Widget build(BuildContext context) {
return new Scaffold(
bottomNavigationBar: new GestureDetector(
onTap: () {
/*Navigator.push(
context,
new MaterialPageRoute(builder: (context) =>
new SelectTable()));*/
},
child:new StoreConnector<List<CartItem>, List<CartItem>>(
converter: (store) => store.state,
builder: (context, list) => new Container(
padding: const EdgeInsets.all(10.0),
color: Colors.green,
child: new Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new GestureDetector(
child: new Text("Proceed to Pay ${
"( €"+getTotal(list).toStringAsFixed(2)+" )"}", style:
new TextStyle(
color: Colors.white,
fontSize: 18.0),),
)
],
)
)),
),
appBar: new AppBar(
iconTheme: new IconThemeData(color: Colors.white),
title: new Text('Cart Summary', style: new TextStyle(
color: Colors.white
),),
),
body: new Container(
child: new Column(
children: <Widget>[
cartSummary,
new Divider(
color: Colors.black,
height: 3.0,
),
listCartItem,
new Divider(
color: Colors.black,
height: 5.0,
),
new ListTile(
title: new Text("Table Selected",
style: new TextStyle(fontWeight: FontWeight.bold,
fontSize: 18.0)),
trailing: new Text("5",
style: new TextStyle(fontWeight: FontWeight.bold,
fontSize: 18.0)),
),
new Divider(
color: Colors.black,
),
new ListTile(
title: new Text("Sub Total",
style: new TextStyle(fontWeight: FontWeight.bold,
fontSize: 18.0)),
trailing: new Text("5",
style: new TextStyle(fontWeight: FontWeight.bold,
fontSize: 18.0)),
),
],
),
),
);
}
}