我想创建一个Column Widget,我有两个元素:一个ListView.builder(必须包含在一个灵活的Widget中,所以它不会崩溃)和另一个Widget。另一个Widget应直接放在ListView下面。
问题是Flexible Widget / ListView占用了所有空间并将其他小部件推送到屏幕底部。
我已经尝试了将其他Widget放入第二个灵活组合的各种组合,并且使用flex和fit进行游戏,但似乎没有任何工作
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
List<String> mylist = ["aaaa","bbbb","cccc","ddd","eee","fff","ggg"];
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(body: Column(
verticalDirection: VerticalDirection.down,
children: <Widget>[
Flexible(child: ListView.builder(itemBuilder: listbuilder,itemCount: mylist.length,)),
ListTile(leading: Text("this should be below the other"))
]),)
);
}
Widget listbuilder(BuildContext context, int index)
{
return ListTile(leading: Text(mylist[index]),
);
}
}
这应该工作:
body:
Column(verticalDirection: VerticalDirection.down, children: <Widget>[
ListView.builder(
shrinkWrap: true,
itemBuilder: listbuilder,
itemCount: mylist.length,
),
ListTile(leading: Text("this should be below the other"))
]),