为什么DrawerHeader顶部存在无法消除的Padding.
在使用DrawerHeader的过程中发现无论如何设置DrawerHeader的padding和margin,都不能避免顶部有一个和状态栏等高的padding
 
分析
这是由于DrawerHeader的自身特性导致的。
通过查看DrawerHeader的源码就会发现,虽然其构造函数中存在margin和padding参数,但是在最终build时候,还是会给child加上一个statusBarHeight的padding
| 1 | // 节选自drawer_header.dart里_MyHomePageState的build函数中 | 
解决办法
使用DrawerHeader时将padding设置为负状态栏高度即可。
| 1 | // 用同样的方式获取到状态栏高度 | 
效果
 
设备:Essential Phone
环境:
| 1 | Flutter 1.10.13-pre.10 • channel master • https://github.com/flutter/flutter.git |