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

Виджет MenuAnchor

Виджет MenuAnchor связывает кнопку и выпадающее меню. Пункты - MenuItemButton и SubmenuButton в menuChildren, кнопку якоря строят в builder с MenuController.

Синтаксис

MenuAnchor( menuChildren: [ MenuItemButton(onPressed: () {}, child: Text('abcde')), ], builder: (BuildContext context, MenuController controller, Widget? child) { return ElevatedButton( onPressed: () { if (controller.isOpen) { controller.close(); } else { controller.open(); } }, child: Text('12345'), ); }, )

Параметры

Параметр Описание
menuChildren Виджеты меню.
builder Строит якорь и получает MenuController.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: MenuAnchor( menuChildren: [ MenuItemButton(onPressed: () {}, child: Text('abcde')), ], builder: (context, controller, child) { return ElevatedButton( onPressed: () => controller.open(), child: Text('12345'), ); }, ), ), ), ), ); }

Нажатие откроет пункт 'abcde'.

Пример

Давайте добавим SubmenuButton:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: MenuAnchor( menuChildren: [ SubmenuButton( menuChildren: [ MenuItemButton(onPressed: () {}, child: Text('abcde')), ], child: Text('12345'), ), ], builder: (context, controller, child) { return FloatingActionButton( onPressed: () => controller.open(), child: Icon(Icons.menu), ); }, ), ), ), ); }

FAB откроет меню с вложенным подменю.

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

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