Flutter:从自定义小部件打开抽屉

Flutter: Open Drawer from a custom widget

我使用自定义小部件代替 AppBar,但是在点击图标(代替 AppBar 的前导 属性)时它没有打开 Drawer

我怎样才能做到这一点?我想从自定义应用栏打开抽屉。

您需要创建一个 GlobalKey 并在其上使用 openDrawer() 方法。

GlobalKey<ScaffoldState> _drawerKey = GlobalKey();

@override
Widget build(BuildContext context) {
  return Scaffold(
    key: _drawerKey, // assign key to Scaffold
    drawer: Drawer(),
  );
}

Widget _getAppBar(){
    return IconButton(
      icon: Icon(
       Icons.person,
      ),
      onPressed: (){
        _drawerKey.currentState.openDrawer();
      },
    ),
  }