我希望水平ListView是其最高子级的高度。我不想为容器设置静态高度。有什么解决办法吗?下面是代码。灵活的小部件也不起作用。
我不想使用扩展或灵活小部件,因为它们不是我所需要的。我需要具有其最高元素高度的ListView。
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Container(
// I do not want to set this
// height: 100,
child: ListView(
scrollDirection: Axis.horizontal,
children: [
Text('Hello'),
Text('Hi'),
],
),
)
],
),
);
}
答案 0 :(得分:0)
好吧,您的列表视图默认高度与Column相同。由于ListView在Cloumn中,因此listView的高度没有限制。您可以将ListView包装到Exapnded Widget中,这样您的listview只能使用所需的高度
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Expanded(
// I do not want to set this
// height: 100,
child: ListView(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
children: [
Text('Hello'),
Text('Hi'),
],
),
)
],
),
);
}