Flutter Builderを使ってAppBarのアイコンからDrawerを開く方法

環境
Windows11 pro 64bit
Flutter 3.3.7

構文
builder: (context) => IconButton(
icon: Icon(Icons.settings),
onPressed: () => Scaffold.of(context).openDrawer(),
)
Builderクラスを使うことによって、Scaffoldに対して、
openDrawerを呼び出せるようになります。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@override
Widget build(BuildContext context) {
return Scaffold(
drawer: Drawer(),
appBar: AppBar(
leading: Builder(
builder: (context) => IconButton(
icon: Icon(Icons.settings),
onPressed: () => Scaffold.of(context).openDrawer(),
)
),
title: Text('test')),
body: Center());
}
@override Widget build(BuildContext context) { return Scaffold( drawer: Drawer(), appBar: AppBar( leading: Builder( builder: (context) => IconButton( icon: Icon(Icons.settings), onPressed: () => Scaffold.of(context).openDrawer(), ) ), title: Text('test')), body: Center()); }
@override
 Widget build(BuildContext context) {
   return Scaffold(
       drawer: Drawer(),
       appBar: AppBar(
           leading: Builder(
               builder: (context) => IconButton(
                     icon: Icon(Icons.settings),
                     onPressed: () => Scaffold.of(context).openDrawer(),
                   )
                   ),
           title: Text('test')),
       body: Center());
 }

 

Flutter

Posted by arkgame