flutter - 我在像素溢出的抖动中遇到此错误。任何解决方案。附上溢出的图片
问题描述
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import '../providers/orders.dart' as ord;
class OrderItem extends StatefulWidget {
final ord.OrderItem order;
OrderItem(this.order);
@override
_OrderItemState createState() => _OrderItemState();
}
class _OrderItemState extends State<OrderItem> {
var _expanded = false;
@override
Widget build(BuildContext context) {
return AnimatedContainer(
duration: Duration(milliseconds: 300),
height:
_expanded ? min(widget.order.products.length * 20.0 + 150, 300) : 95,
child: Card(
margin: EdgeInsets.all(10),
child: Column(
children: <Widget>[
ListTile(
title: Text('\$${widget.order.amount}'),
subtitle: Text(
DateFormat('dd/MM/yyyy hh:mm').format(widget.order.dateTime),
),
trailing: IconButton(
icon: Icon(_expanded ? Icons.expand_less : Icons.expand_more),
onPressed: () {
setState(() {
_expanded = !_expanded;
});
},
),
),
AnimatedContainer(
duration: Duration(microseconds: 300),
padding: EdgeInsets.symmetric(horizontal: 15, vertical: 4),
height: _expanded
? min(widget.order.products.length * 20.0 + 10, 100)
: 0,
child: ListView(
children: widget.order.products
.map(
(prod) => Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
prod.title,
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
Text(
'${prod.quantity}x \$${prod.price}',
style: TextStyle(
fontSize: 18,
color: Colors.grey,
),
)
],
),
)
.toList(),
),
)
],
), ),
);
}
}
我收到溢出错误,这是一个商店应用程序,如果有任何解决方案请提供给我,并且它显示此颤动代码的溢出错误,我无法在哪里修改代码以删除错误
解决方案
考虑使用 MediaQuery 根据您的显示尺寸调整小部件的大小。您也可以尝试使用 Expanded 小部件或调整 AnimatedContainers 的 height 属性。
推荐阅读
- html - CSS - 如何在不拉伸的情况下将文本与图像对齐
- javascript - document.elementFromPoint 不精确
- laravel - Laravel 中的评论商店重定向到主页
- post - 在 SoapUI 中通过 VSTS api 执行 groovy 脚本到 POST 时出现 400 错误
- r - 算法“NLOPT_LD_auglag”有什么作用?
- php - 儿童主题的儿童主题
- java - 异常:无法从 START_OBJECT 令牌中反序列化 java.util.ArrayList 的实例
- python - 如果它包含特定的子字符串,则替换熊猫数据框中的字符串
- ssis - SSIS 根据给定数据将 2 组列合并为一组
- excel - 带有移动标准的 SUMIFS