我正在尝试创建一个可拖动的底部工作表,该工作表将具有设置的页眉和页脚。在这些之间,正文/内容会有所不同。可能有一个空状态或可能有一个数据列表。用户也应该能够将此工作表扩展到屏幕顶部。
这是一个基本示例,我可以在其中查看所有数据,但无法将其拖动到最大大小。我只能在页眉和页脚之间的 ListView 内滚动。
如何更新它,以便我仍然可以拖动工作表以捕捉到顶部、返回到中间或关闭?
代码示例:
void _showDraggableSheet(context) {
showModalBottomSheet(
context: context,
isScrollControlled: true,
useRootNavigator: true,
builder: (_) {
return DraggableScrollableSheet(
expand: false,
initialChildSize: 0.65,
minChildSize: 0.65,
maxChildSize: 0.9,
builder: (_, controller) {
return Container(
color: Colors.black,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
_buildHeader(),
_buildContent(),
_buildFooter(),
],
),
);
},
);
},
);
}
Widget _buildContent() {
return Expanded(
child: Container(
color: Colors.green,
child: ListView.builder(
itemCount: 100,
itemBuilder: (_, i) => ListTile(title: Text('Item $i')),
),
),
);
}