android - Flutter ListView不在页面上滚动
问题描述
我在一家餐厅外卖应用程序中工作,我在 Codecanyon 中购买了它,但支持太差了……我发现 Cart Dart 中有一个错误,并且滚动不起作用……我收到“底部溢出错误”
我尝试了所有谷歌教程,但不知道什么是坏的。
这是我的代码:
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: Helper.of(context).onWillPop,
child: Scaffold(
key: _con.scaffoldKey,
bottomNavigationBar: CartBottomDetailsWidget(con: _con),
appBar: AppBar(
automaticallyImplyLeading: false,
leading: IconButton(
onPressed: () {
if (widget.routeArgument != null) {
Navigator.of(context).pushReplacementNamed(widget.routeArgument.param, arguments: RouteArgument(id: widget.routeArgument.id));
} else {
Navigator.of(context).pushReplacementNamed('/Pages', arguments: 2);
}
},
icon: Icon(Icons.arrow_back),
color: Theme.of(context).hintColor,
),
backgroundColor: Colors.transparent,
elevation: 0,
centerTitle: true,
title: Text(
S.of(context).cart,
style: Theme.of(context).textTheme.headline6.merge(TextStyle(letterSpacing: 1.3)),
),
),
body: RefreshIndicator(
onRefresh: _con.refreshCarts,
child: _con.carts.isEmpty
? EmptyCartWidget()
: Stack(
alignment: AlignmentDirectional.bottomCenter,
children: [
Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 20, right: 10),
child: ListTile(
contentPadding: EdgeInsets.symmetric(vertical: 0),
leading: Icon(
Icons.shopping_cart,
color: Theme.of(context).hintColor,
),
title: Text(
S.of(context).shopping_cart,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.headline4,
),
subtitle: Text(
S.of(context).verify_your_quantity_and_click_checkout,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.caption,
),
),
),
ListView.separated(
padding: EdgeInsets.symmetric(vertical: 15),
scrollDirection: Axis.vertical,
shrinkWrap: true,
primary: true,
itemCount: _con.carts.length,
separatorBuilder: (context, index) {
return SizedBox(height: 15);
},
itemBuilder: (context, index) {
return CartItemWidget(
cart: _con.carts.elementAt(index),
heroTag: 'cart',
increment: () {
_con.incrementQuantity(_con.carts.elementAt(index));
},
decrement: () {
_con.decrementQuantity(_con.carts.elementAt(index));
},
onDismissed: () {
_con.removeFromCart(_con.carts.elementAt(index));
},
);
},
),`
解决方案
Expanded
没有尝试这个,但也许放ListView
作为一个它的直系孩子,Column
它不知道它应该有多大。
Expanded(
child: ListView.separated(...)
)
推荐阅读
- arcgis - 更改 ArcGIS 服务器端口号
- django - Google Cloud Storage 未上传到存储桶中的正确媒体和静态目录
- javascript - 在 jsx 中渲染 amp-mustache
- angular - 如何检查Angular模板中的类型?对象可能是“未定义”类型上不存在属性
- gdal - 使用 GDAL 将 Robinson 转换为 EPSG:3857
- javascript - React - 如何使反应图标在点击时旋转 180 度?
- c# - 泛型类型参数的替换
- c++ - C ++:如何更正将类函数的引用设置为非类引用变量
- cloud - 为什么对象存储和块存储不能合并?
- python - 我被要求用运算符(运算符优先级)写一个“句子”