我的抽屉在我的main.dart文件中。我想用另一页打开抽屉。当然是Scaffold.of(context).openDrawer();没有用。但是我不知道。
答案 0 :(得分:2)
像这样创建公共抽屉:
import 'package:flutter/widgets.dart';
class PublicDrawer extends StatefulWidget {
PublicDrawer({Key key}) : super(key: key);
@override
_PublicDrawerState createState() => _PublicDrawerState();
}
class _PublicDrawerState extends State<PublicDrawer> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Container();
}
}
在所有其他页面上,使用脚手架实现抽屉:
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:~~~~~~~/Widgets/drawer.dart';
class ProfilePage extends StatefulWidget {
ProfilePage({Key key}) : super(key: key);
@override
_ProfilePageState createState() => _ProfilePageState();
}
class _ProfilePageState extends State<ProfilePage> {
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
drawer: PublicDrawer(), <----
body: Container(),
),
);
}
}
答案 1 :(得分:0)
从抽屉中取出组件,然后将新页面(或您要在其中打开抽屉的页面)放在它自己的支架中(而不是组件本身) 然后导入您的抽屉并将其插入支架抽屉中。 =)