如何在卡片小部件中显示孩子,其中一个孩子是fl条形图



这是我运行flutter run命令时在终端上出现的错误。我怎么能在一张卡片里有两个孩子而不溢出或将其大小扩展到无穷大??

The following RenderObject was being processed when the exception was fired: RenderBarChart#947f3 relayoutBoundary=up24
NEEDS-LAYOUT NEEDS-PAINT:
creator: BarChartLeaf ← Listener ← _GestureSemantics ← RawGestureDetector ← GestureDetector ←
BarChart ← BarChartWidget ← RepaintBoundary ← IndexedSemantics ←
NotificationListener<KeepAliveNotification> ← KeepAlive ← AutomaticKeepAlive ← ⋯
parentData: <none> (can use size)
constraints: BoxConstraints(w=376.0, 0.0<=h<=Infinity)
size: Size(376.0, Infinity)
This RenderObject has no descendants.

//代码

Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(15),
child: Card(
shadowColor: Colors.red,
elevation: 20,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
color: Color(0xff240046),
child: ListView(
shrinkWrap: true,
children: [
BarChartWidget(),
Text("Demo"),
],
),
),
);

我也尝试过SingleChildScrollView,但不适用于

这是我用来构建颤振图表的代码。

Widget build(BuildContext context) {
return BarChart(BarChartData(
axisTitleData: FlAxisTitleData(
show: true,
leftTitle: AxisTitle(
titleText: "Interest Rate",
showTitle: true,
textStyle: TextStyle(fontSize: 15, color: Colors.white),
),
bottomTitle: AxisTitle(
titleText: "Banks",
showTitle: true,
textStyle: TextStyle(fontSize: 15, color: Colors.white),
),
),
titlesData: FlTitlesData(
bottomTitles: BarTitles.getBottomTitles(),
leftTitles: BarTitles.getLeftTitles(),
),
gridData: FlGridData(checkToShowHorizontalLine: (value) {
return value % BarData.interval == 0;
}, getDrawingHorizontalLine: (value) {
return FlLine(
color: Colors.white,
strokeWidth: 0.5,
);
}),
minY: 0,
maxY: 10,
groupsSpace: 5,
barGroups: BarData.barData.map((data) {
return BarChartGroupData(x: data.id, barRods: [
BarChartRodData(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(5),
topRight: Radius.circular(5),
),
y: data.y,
width: 20,
colors: [data.color],
),
]);
}).toList()));
}

最好能看到BarChartWidget()类。

为什么不使用Expanded()小部件进行包装,请参阅。

ListView(
children: [
Expanded(
child: Column( 
children: [
BarChartWidget(),
Text("Demo"),
],
),
),
],
),

SingleChildScrollView(
child: 
Expanded(
child: Column( 
children: [
BarChartWidget(),
Text("Demo"),
],
),
),
),

这就是您出现错误的原因:"垂直视口被赋予了无限高度">

相关内容