Flutter 手动控制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(), ), ), ), ); } }
本文作者:博客园-前端法师
版权所有,转载请标明出处。