class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('DraggableScrollableSheet'),
),
body: SizedBox.expand(
child: DraggableScrollableSheet(
builder: (BuildContext context, ScrollController scrollController) {
return Container(
color: Colors.blue[100],
child: ListView.builder(
controller: scrollController,
itemCount: 25,
itemBuilder: (BuildContext context, int index) {
return ListTile(title: Text('Item $index'));
},
),
);
},
),
),
);
}
}
在最开始时,占的位置大概在0.25的位置上,上面有空白,当拖动时,占用父窗口的所有空间。
这篇博客介绍了如何在Flutter中使用DraggableScrollableSheet组件创建一个初始占据屏幕小部分,可拖动扩展至全屏的列表视图。示例代码展示了一个包含AppBar的Scaffold,其Body部分是一个DraggableScrollableSheet,内部包裹了一个ListView,显示25个列表项。用户可以通过拖动顶部来改变Sheet的高度,从而实现内容的动态展示。
1048

被折叠的 条评论
为什么被折叠?



