flutter - 如何从 DrawerHeader 中删除填充

标签 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))
    );
  }
}

如您所见,我将 DrawerHeader 中的 PaddingMargin 设置为 0,但这是如何显示我的页眉:

Big Drawer Header

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

为了确定问题出在 DrawerHeader 中,当我将它替换为 Container 时会发生以下情况:

Small Header

它正常工作!

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

最佳答案

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"),
              )
            ],
          ),
        ),

关于flutter - 如何从 DrawerHeader 中删除填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53363029/

相关文章:

android-studio - Flutter - 如何更改 TextField 边框颜色?

Flutter API 获取数据并将其从一个屏幕发送到另一个屏幕

flutter - 声明用于参数分配的const

flutter - 具有身份验证和部分从 REST API 获取的 Flutter 应用程序的最佳实践

dart - 将 Future<List<int>> 传递到 Button 中的快照

flutter - 在堆栈中使用定位时的“RenderStack object was given an infinite size during layout”

flutter - 在 Flutter 中的 Scroll 上隐藏底部导航栏

flutter - 如何在 Sweep Gradient 中包含 Stroke Cap?

android - 如何修改 Riverpod 中另一个提供者的 StateNotifier 提供者的状态?

flutter - 使用 RefreshIndicator 时,无法将参数类型 'Future<List<User>>' 分配给 onRefresh 中的参数类型 'Future<void> Function()'