@@ -163,6 +163,45 @@ class _TrayIconExamplePageState extends State<TrayIconExamplePage> {
163163 final separatorItem = MenuItem ('' , MenuItemType .separator);
164164 final toggleItem = MenuItem ('Toggle Visibility' );
165165 final separatorItem2 = MenuItem ('' , MenuItemType .separator);
166+
167+ // Create submenu
168+ final submenuMenu = Menu ();
169+ final submenuItem1 = MenuItem ('Submenu Item 1' );
170+ final submenuItem2 = MenuItem ('Submenu Item 2' );
171+ final submenuItem3 = MenuItem ('Submenu Item 3' );
172+
173+ // Add submenu items
174+ submenuMenu.addItem (submenuItem1);
175+ submenuMenu.addItem (submenuItem2);
176+ submenuMenu.addItem (submenuItem3);
177+
178+ // Create submenu menu item
179+ final submenuMenuItem = MenuItem ('More Options' , MenuItemType .submenu);
180+ submenuMenuItem.submenu = submenuMenu;
181+
182+ // Listen to submenu open/close events
183+ submenuMenuItem.on < MenuItemSubmenuOpenedEvent > ((event) {
184+ _addToHistory ('Submenu opened for tray icon ${trayIcon .id }' );
185+ });
186+
187+ submenuMenuItem.on < MenuItemSubmenuClosedEvent > ((event) {
188+ _addToHistory ('Submenu closed for tray icon ${trayIcon .id }' );
189+ });
190+
191+ // Add event listeners for submenu items
192+ submenuItem1.on < MenuItemClickedEvent > ((event) {
193+ _addToHistory ('Submenu Item 1 clicked for tray icon ${trayIcon .id }' );
194+ });
195+
196+ submenuItem2.on < MenuItemClickedEvent > ((event) {
197+ _addToHistory ('Submenu Item 2 clicked for tray icon ${trayIcon .id }' );
198+ });
199+
200+ submenuItem3.on < MenuItemClickedEvent > ((event) {
201+ _addToHistory ('Submenu Item 3 clicked for tray icon ${trayIcon .id }' );
202+ });
203+
204+ final separatorItem3 = MenuItem ('' , MenuItemType .separator);
166205 final aboutItem = MenuItem ('About' );
167206 final quitItem = MenuItem ('Quit' );
168207
@@ -199,6 +238,8 @@ class _TrayIconExamplePageState extends State<TrayIconExamplePage> {
199238 contextMenu.addItem (separatorItem);
200239 contextMenu.addItem (toggleItem);
201240 contextMenu.addItem (separatorItem2);
241+ contextMenu.addItem (submenuMenuItem);
242+ contextMenu.addItem (separatorItem3);
202243 contextMenu.addItem (aboutItem);
203244 contextMenu.addItem (quitItem);
204245
0 commit comments