dart - Flutter - 修复抽屉页眉
问题描述
按照此链接将抽屉添加到屏幕,我创建了一个抽屉。
以下是我的一段代码:
// FUNCTION CONTAINING LEFT SIDE MENU ITEMS
_drawerList() {
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
DrawerHeader(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'John Doe',
),
],
),
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/images/menu_bg.png'),
fit: BoxFit.cover,
),
),
),
ListTile(
// Some Code
),
],
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
// Some Code
drawer: Drawer(
child: _drawerList(),
),
// Some Code
}
}
有什么办法可以修复“DrawerHeader”,使其不会随抽屉和列表视图移动。
PS我不想持有ListView。我只想保留或修复“DrawerHeader”。
解决方案
是的,将其移出 ListView 小部件并使用 Column 来保存 DrawerHeader 和 ListView。
启用项目滚动
_drawerList() {
return Drawer(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
DrawerHeader(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'John Doe',
),
],
),
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/images/menu_bg.png'),
fit: BoxFit.cover,
),
),
),
ListView(
padding: EdgeInsets.zero,
children: <Widget>[
ListTile(
// Some Code
),
ListTile(
// Some Code
),
ListTile(
// Some Code
),
ListTile(
// Some Code
),
ListTile(
// Some Code
),
],
),
],
),
);
}
禁用项目滚动
_drawerList() {
return Drawer(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
DrawerHeader(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'John Doe',
),
],
),
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/images/menu_bg.png'),
fit: BoxFit.cover,
),
),
),
ListTile(
// Some Code
),
ListTile(
// Some Code
),
ListTile(
// Some Code
),
ListTile(
// Some Code
),
ListTile(
// Some Code
),
],
),
);
}
推荐阅读
- angular - 一个组件中未定义的角度对象,但不是另一个我如何同步这两个组件
- fortran - OpenMPI 的 mpirun 问题
- powershell - powershell 点击谷歌搜索结果
- javascript - 模态表内的表被切断
- haskell - 如何编写这个可以更改记录的任何项目的简单 Monad?
- javascript - 如何将数据从 JSON 文件附加到 HTML div?
- android - 如何测试系统服务?
- angular - 如何使用 Echo 和 Angular 修复刷新错误
- c - 使用 C 将 Linux 客户端连接到 MacOS 服务器
- php - PHP表单动作和方法进入Jquery