我在抽屉里安装了一个粘性标头。但是现在我在标头和第一个ListTile项之间有一个空格。如何删除该空间/将项目设置在标题的末尾?
感谢您的帮助!(我必须删除一些ListTiles,因为它是大量用于stackoverflow的代码)
drawer: Drawer(
child: Column(
children: [
Expanded(
flex: 1,
child: Container(
width: MediaQuery.of(context).size.width * 0.85,
child: DrawerHeader(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topRight,
end: Alignment.bottomLeft,
colors: [Colors.blue, Colors.red])
),
child: Center (child: Text('Title', style: TextStyle(color: Colors.white, fontWeight: FontWeight.w700, fontSize: 30.0)),),
),
),
),
Expanded(
flex: 2,
child: ListView(children: [
ListTile(
leading: Icon(Icons.wb_sunny),
title: Text('Menu 1'),
trailing: Icon(Icons.keyboard_arrow_right),
onTap: () {print("Hallo");},
),
Divider(height: 1, thickness: 0.5, color: Colors.grey,),
ListTile(
leading: Icon(Icons.wb_sunny),
title: Text('Menu 2'),
trailing: Icon(Icons.keyboard_arrow_right),
onTap: () {print("Hallo");},
),
Divider(height: 1, thickness: 0.5, color: Colors.grey,),
ListTile(
leading: Icon(Icons.wb_sunny),
title: Text('Menu 3'),
trailing: Icon(Icons.keyboard_arrow_right),
onTap: () {print("Hallo");},
),
Divider(height: 1, thickness: 0.5, color: Colors.grey,),
]),
)
],
),
),
我想问题是DrawerHeader
。我只会使用带有一些填充的容器。
[另一件事可能是您将DrawerHeader容器包装在Expanded中。 Expanded将尝试获取所有可用空间。因此,以防万一尝试使用其他FlexFit移至Flexible
。
DartPad这里是最后一个示例。
像这样用listTile
小部件包裹Inkwell
小部件。它将减少一些空间
InkWell(
onTap: () {print("Hello");},
child: ListTile(
leading: Icon(Icons.wb_sunny),
title: Text('Menu 2'),
trailing: Icon(Icons.keyboard_arrow_right),
),
),