【问题标题】:Flutter, How To make Button to open drawer in Flutter [duplicate]Flutter,如何制作按钮以在 Flutter 中打开抽屉 [重复]
【发布时间】: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();
                },
              ),

【问题讨论】:

标签: flutter flutter-layout flutter-web flutter-animation flutter-test


【解决方案1】:

最好的方法是使用 GlobalKey。

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

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

  2. 将此键分配给脚手架。

Scaffold( key: scaffoldKey, ....)

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

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

【讨论】:

    猜你喜欢
    • 2021-07-08
    • 2020-01-04
    • 2018-10-02
    • 2019-10-19
    • 1970-01-01
    • 2021-05-06
    • 2019-04-18
    • 2019-12-27
    • 1970-01-01
    相关资源
    最近更新 更多