Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
442 of 1024 menu
◀ ▶

Метод openDrawer

Метод openDrawer класса ScaffoldState анимирует Drawer из параметра drawer у Scaffold. ScaffoldState получают через Scaffold.of(context) или GlobalKey.

Синтаксис

Scaffold.of(context).openDrawer()

Пример

Давайте откроем drawer по кнопке:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: DrawerOpenDemo())); } class DrawerOpenDemo extends StatelessWidget { const DrawerOpenDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( drawer: Drawer( child: ListView( children: [ ListTile(title: Text('abcde')), ], ), ), body: Center( child: ElevatedButton( onPressed: () { Scaffold.of(context).openDrawer(); }, child: Text('abcde'), ), ), ); } }

Слева выедет Drawer со строкой 'abcde'.

Пример

Давайте откроем drawer из AppBar:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: DrawerAppBarDemo())); } class DrawerAppBarDemo extends StatelessWidget { const DrawerAppBarDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('12345'), leading: IconButton( icon: Icon(Icons.menu), onPressed: () { Scaffold.of(context).openDrawer(); }, ), ), drawer: Drawer( child: Center(child: Text('abcde')), ), body: Center(child: Text('12345')), ); } }

Кнопка меню вызовет openDrawer у ScaffoldState.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить