【发布时间】:2022-01-14 00:07:05
【问题描述】:
我正在使用 BackdropAppBar 包,并希望使用类似的东西以编程方式从前导图标打开抽屉:_scaffoldKey.currentState!.openDrawer();
但它不起作用 滑动时抽屉可见,但我想要一个菜单图标来激活它 也试过这个:Backdrop.of(context).scaffoldKey!.currentState!.openDrawer();
这是我的代码:
BackdropScaffold(
key: _scaffoldKey,
appBar: BackdropAppBar(
title: Text('PRODUCTS'),
centerTitle: true,
actions: <Widget>[
IconButton(
icon: Icon(Icons.person),
onPressed: () {
print('open drawer');//text is printed
//none of the following work
_scaffoldKey.currentState!.openDrawer();
Scaffold.of(context).openDrawer();
Backdrop.of(context).scaffoldKey!.currentState!.openDrawer();
} ,
),
BackdropToggleButton(
icon: AnimatedIcons.close_menu,
),
],
drawer: MyDrawer(),
frontLayer: pageBuilder(),
backLayer: Center(
child: Text("Back Layer"),
),
));
}
_scaffoldKey 是这样定义的:
final GlobalKey<BackdropScaffoldState> _scaffoldKey = GlobalKey<BackdropScaffoldState>();
这是错误:
手势捕获的异常 处理手势时引发以下 _CastError: 用于空值的空检查运算符
当异常被抛出时,这是堆栈: #0 Backdrop.of (package:backdrop/src/scaffold.dart:29:61)
【问题讨论】:
标签: flutter flutter-layout flutter-dependencies backdrop