// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Flutter code sample for PopupMenuButton import 'package:flutter/material.dart'; // This is the type used by the popup menu below. enum Menu { itemOne, itemTwo, itemThree, itemFour } void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); static const String _title = 'Flutter Code Sample'; @override Widget build(BuildContext context) { return const MaterialApp( title: _title, home: MyStatefulWidget(), ); } } class MyStatefulWidget extends StatefulWidget { const MyStatefulWidget({Key? key}) : super(key: key); @override State createState() => _MyStatefulWidgetState(); } class _MyStatefulWidgetState extends State { String _selectedMenu = ''; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( actions: [ // This button presents popup menu items. PopupMenuButton( // Callback that sets the selected popup menu item. onSelected: (Menu item) { setState(() { _selectedMenu = item.name; }); }, itemBuilder: (BuildContext context) => >[ const PopupMenuItem( value: Menu.itemOne, child: Text('Item 1'), ), const PopupMenuItem( value: Menu.itemTwo, child: Text('Item 2'), ), const PopupMenuItem( value: Menu.itemThree, child: Text('Item 3'), ), const PopupMenuItem( value: Menu.itemFour, child: Text('Item 4'), ), ]) ], ), body: Center( child: Text('_selectedMenu: $_selectedMenu'), ), ); } }