Flutter,如何制作按钮以在 Flutter 中打开抽屉 [重复]

Posted

技术标签:

【中文标题】Flutter,如何制作按钮以在 Flutter 中打开抽屉 [重复]【英文标题】:Flutter, How To make Button to open drawer in Flutter [duplicate] 【发布时间】:2020-12-15 14:24:59 【问题描述】:

我尝试制作一个打开抽屉的按钮,但我做不到,这是我第一次使用颤振

我的跑步界面

  return Scaffold(

  drawer: Drawer(),
  body: Column(
    children: <Widget>[
      ClipPath(
        clipper: MyClipper(),
        child: Container(
          height: 350,
          width: double.infinity,
          decoration: BoxDecoration(
            gradient: LinearGradient(
                begin: Alignment.topRight,
                end: Alignment.bottomLeft,
                colors: [
                  Color(0xFF3383CD),
                  Color(0xFF11429F),
                ]),
          ),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              const SizedBox(height: 12),
              IconButton(
                icon: const Icon(
                  Icons.add, size: 18,
                  color: Colors.white,
                  ),
                onPressed: () 
                  Scaffold.of(context).openDrawer();
                ,
              ),

【问题讨论】:

这能回答你的问题吗? Open drawer on clicking AppBar 【参考方案1】:

最好的方法是使用 GlobalKey。

    为您的小部件定义一个 GlobalKey for ScaffoldState。

    GlobalKey&lt;ScaffoldState&gt; scaffolKey = GlobalKey&lt;ScaffoldState&gt;();

    将此键分配给脚手架。

Scaffold( key: scaffoldKey, ....)

    在按钮的 onPressed 调用中使用此键调用 Opendrawer。

FlatButton(onPressed: () scaffoldKey.currentState.openDrawer(); )

【讨论】:

以上是关于Flutter,如何制作按钮以在 Flutter 中打开抽屉 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 制作漂亮的登录表单

如何设置 flutter_socket_io 插件以在 iOS 上工作

《Flutter个人资料界面应用》

如何将 Bitmap 转换为 AndroidBitmap 以在 Flutter 中推送通知?

如何替换 Flutter 中捆绑的 Dart SDK 以在 Apple Silicon (ARM64) 上原生运行?

如何从我的简单.dart文件创建插件以在Flutter中使用?