在其他页面中打开抽屉

时间:2020-06-20 12:49:13

标签: flutter drawer

我的抽屉在我的main.dart文件中。我想用另一页打开抽屉。当然是Scaffold.of(context).openDrawer();没有用。但是我不知道。

2 个答案:

答案 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)

从抽屉中取出组件,然后将新页面(或您要在其中打开抽屉的页面)放在它自己的支架中(而不是组件本身) 然后导入您的抽屉并将其插入支架抽屉中。 =)