如何从 DrawerHeader 中删除 Padding

mFe*_*ein 4 flutter flutter-layout

这是我的DrawerHeader

class MyDrawerHeader extends StatefulWidget {
  @override
  _MyDrawerHeaderState createState() => _MyDrawerHeaderState();
}

class _MyDrawerHeaderState extends State<MyDrawerHeader> {
  @override
  Widget build(BuildContext context) {
    return DrawerHeader(
      padding: EdgeInsets.all(0),
      margin: EdgeInsets.all(0),
      child: Center(child: Text('Header', style: Theme.of(context).textTheme.headline))
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我从be制作了Padding和,但这就是我的标题的显示方式:MarginDrawerHeader0

大抽屉头

它太大了,我无法将其缩小。我不知道为什么它会以这种方式呈现,我查看了DrawerHeader源代码,但看不到其中有任何内容覆盖我的PaddingMargin.

只是为了确定问题出在 中DrawerHeader,这就是当我将其替换为 时发生的情况Container

小标头

它按其应有的方式工作!

我是否遗漏了什么,或者这是 Flutter 中的一个错误?

Joe*_*nes 5

drawer: Drawer(
          child: ListView(
            padding: EdgeInsets.zero,
            children: [
              DrawerHeader(
                padding: EdgeInsets.all(0.0),
                child: Container(
                  color: Theme.of(context).primaryColor,
                ),
              ),
              ListTile(
                title: Text("Home"),
              )
            ],
          ),
        ),
Run Code Online (Sandbox Code Playgroud)

  • 填充:EdgeInsets.all(0.0),对我有用。谢谢 (2认同)