我尝试展示一些小部件,包括一个ListView。我想让ListView填满可用的空间。如果ListView内容要更大,则应该是可滚动的。目前,ListView太大了,小部件从屏幕上长出来了。
...
body: Column(mainAxisAlignment: MainAxisAlignment.start, children: [
Card(
child: Padding(
padding: const EdgeInsets.all(2.0),
child: Column(children: [
Text('Text'),
ListView.builder(
shrinkWrap: true,
physics: ClampingScrollPhysics(),
itemBuilder: (BuildContext context, int index) => actionWidgetList[index],
itemCount: actionList.length,
),
]),
),
),
rangeInitialized
? Container(
alignment: Alignment.bottomCenter,
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.width,
child: another.widget,
)
: SizedBox(),
]),发布于 2020-06-09 06:47:47
如果是小部件,是较大布局的一部分,您可能知道ListView的最大高度
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Card(
child: Padding(
padding: const EdgeInsets.all(2.0),
child: Column(
children: [
Text('Text'),
ConstrainedBox(
constraints: BoxConstraints(
maxHeight: 100
),
child: ListView.builder(
shrinkWrap: true,
physics: ClampingScrollPhysics(),
itemBuilder: (BuildContext context, int index) =>
actionWidgetList[index],
itemCount: actionList.length,
),
),
],
),
),
),
rangeInitialized
? Container(
alignment: Alignment.bottomCenter,
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.width,
child: another.widget,
)
: SizedBox(),
],
);
}如果布局需要填充整个屏幕,则可以使用灵活的小部件。
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Flexible(
child: Card(
child: Padding(
padding: const EdgeInsets.all(2.0),
child: Column(
children: [
Text('Text'),
Flexible(
child: ListView.builder(
// shrinkWrap: true,
physics: ClampingScrollPhysics(),
itemBuilder: (BuildContext context, int index) =>
actionWidgetList[index],
itemCount: actionList.length,
),
),
],
),
),
),
),
rangeInitialized
? Container(
alignment: Alignment.bottomCenter,
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.width,
child: another.widget,
)
: SizedBox(),
],
);
}https://stackoverflow.com/questions/62271694
复制相似问题