drawer static method
Drawer
drawer(
- BuildContext context, {
- DrawerDelegate delegate = const DrawerChildListDelegate(children: []),
标准Drawer创建
- 包含头部信息。
- 包含菜单项(关于,帮助)。
- 包含版本标注(Footer)。
- 包含背景(Comming soon)
Implementation
static Drawer drawer(
BuildContext context, {
DrawerDelegate delegate = const DrawerChildListDelegate(children: []),
}) {
Widget _builderHeader() {
// if (delegate.buildHeader() != null) {
// return Container();
// }
return delegate.buildHeader() ?? Container();
// if (delegate.enableHeader()) {
// if (delegate.buildHeader() != null) {
// // 默认自定义
// return Container(
// width: double.infinity,
// child: DrawerHeader(
// padding: EdgeInsets.zero,
// margin: EdgeInsets.zero,
// decoration: BoxDecoration(
// gradient: LinearGradient(colors: [
// Colors.black12,
// Colors.orangeAccent,
// ])),
// child: Text("header"),
// ),
// );
// } else {
// // 自定义
// return Container(
// width: double.infinity,
// child: DrawerHeader(
// child: Text(""),
// ),
// );
// }
// } else {
// return Container(
// width: double.infinity,
// );
// }
}
List<Widget> _buildList(BuildContext context) {
return delegate.buildList(context);
}
Widget _buildFooter() {
return delegate.buildFooter() ?? Container();
}
return Drawer(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
// header
_builderHeader(),
// list buttons
Expanded(
child: ListView(
children: _buildList(context),
),
),
// footer
_buildFooter(),
],
),
);
}