Flutter 手动控制drawer(抽屉)打开关闭

Flutter 手动控制drawer(抽屉)打开关闭

PS:介绍两种方法可以设置drawer的打开:

  • GlobalKey 方式打开

import "package:flutter/material.dart";
 
class MyTest extends StatefulWidget {
  @override
  _MyTestState createState() => new _MyTestState ();
}
 
class _MyTestState extends State<MyTest> {
  final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      key: _scaffoldKey,
      drawer: new Drawer(),
      appBar: new AppBar(
        leading: new IconButton(
            icon: new Icon(Icons.settings),
            onPressed: () => _scaffoldKey.currentState.openDrawer()),
      ),
    );
  }
}
  • builder方式
class _MyTestState extends State<MyTest> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      drawer: new Drawer(),
      appBar: new AppBar(
        leading: Builder(
            builder: (context) => IconButton(
                  icon: new Icon(Icons.settings),
                  onPressed: () => Scaffold.of(context).openDrawer(),
                ),
        ),
      ),
    );
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容