Класс MenuController
Класс MenuController приходит в builder у
MenuAnchor.
Метод open показывает меню, close его прячет,
геттер isOpen говорит, видно ли меню сейчас.
Синтаксис
controller.open()
Пример
Давайте откроем меню кнопкой:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: MenuAnchor(
menuChildren: [
MenuItemButton(child: Text('abcde')),
],
builder: (context, controller, child) {
return TextButton(
onPressed: () {
if (controller.isOpen) {
controller.close();
} else {
controller.open();
}
},
child: Text('12345'),
);
},
),
),
),
),
);
}
На экране кнопка '12345'. Нажатие показывает пункт 'abcde'.
Смотрите также
-
виджет
MenuAnchor,
который создаёт этот контроллер -
виджет
MenuItemButton,
пункт внутри меню -
виджет
PopupMenuButton,
готовая кнопка со своим меню -
класс
PopupMenuEntry,
строка старого всплывающего меню