首页 > 解决方案 > 从自定义按钮打开侧抽屉存在于容器中

问题描述

我想从存在于容器中的按钮打开侧抽屉,而不是从 AppBar 侧按钮。这也应该从右到左打开。有关更多信息,我添加了我的要求的屏幕截图呃

标签: flutterdartflutter-layout

解决方案


这里有一个基本示例:

@override
  Widget build(BuildContext context) {
    return Scaffold(
      endDrawer: Drawer(),
      appBar: AppBar(),
      body: Builder(
        builder: (context) {
          return Center(
            child: RaisedButton(
              child: Text("open drawer"),
              onPressed: () {
                Scaffold.of(context).openEndDrawer();
              },
            ),
          );
        },
      ),
    );
  }

或者您可以GlobalKey使用ScaffoldState


  GlobalKey<ScaffoldState> _key = new GlobalKey<ScaffoldState>();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _key,
      endDrawer: Drawer(),
      appBar: AppBar(),
      body: Center(
        child: RaisedButton(
          child: Text("open drawer"),
          onPressed: () {
            _key.currentState.openEndDrawer();
          },
        ),
      ),
    );
  }
}

检查此链接以获取更多信息:https ://api.flutter.dev/flutter/material/ScaffoldState/openEndDrawer.html


推荐阅读