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(), ), ), ), ); } }
本文作者:博客园-前端法师
版权所有,转载请标明出处。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· Supergateway:MCP服务器的远程调试与集成工具
· C# 13 中的新增功能实操