1. 02 Aug, 2023 1 commit
  2. 24 Jul, 2023 1 commit
  3. 17 Jul, 2023 1 commit
  4. 11 Jul, 2023 1 commit
    • Qun Cheng's avatar
      `DropdownMenu` can be expanded to its parent size (#129753) · 12acff81
      Qun Cheng authored
      Fixes #125199
      
      This PR is to add a new property `expandedInsets` so that the `DropdownMenu` can be expandable and has some margins around.
      
      <details><summary>Example: Setting `expandedInsets` to `EdgeInsets.zero`</summary>
      
      ```dart
      import 'package:flutter/material.dart';
      
      void main() => runApp(const DropdownMenuExample());
      
      class DropdownMenuExample extends StatefulWidget {
        const DropdownMenuExample({super.key});
      
        @override
        State<DropdownMenuExample> createState() => _DropdownMenuExampleState();
      }
      
      class _DropdownMenuExampleState extends State<DropdownMenuExample> {
        final TextEditingController colorController = TextEditingController();
        ColorLabel? selectedColor;
      
        @override
        Widget build(BuildContext context) {
          final List<DropdownMenuEntry<ColorLabel>> colorEntries = <DropdownMenuEntry<ColorLabel>>[];
          for (final ColorLabel color in ColorLabel.values) {
            colorEntries.add(
              DropdownMenuEntry<ColorLabel>(value: color, label: color.label, enabled: color.label != 'Grey'),
            );
          }
      
          return MaterialApp(
            theme: ThemeData(
              useMaterial3: true,
              colorSchemeSeed: Colors.green,
            ),
            home: Scaffold(
              body: Center(
                child: Container(
                  width: 500,
                  height: 500,
                  color: Colors.orange,
                  child: DropdownMenu<ColorLabel>(
                    expandedInsets: EdgeInsets.zero,
                    inputDecorationTheme: const InputDecorationTheme(
                      filled: true,
                      fillColor: Colors.white,
                      border: OutlineInputBorder(),
                    ),
                    controller: colorController,
                    dropdownMenuEntries: colorEntries,
                    onSelected: (ColorLabel? color) {
                      setState(() {
                        selectedColor = color;
                      });
                    },
                    // expandedInsets: EdgeInsets.only(left: 35.0, right: 20.0, top: 80),
                  ),
                ),
              ),
            ),
          );
        }
      }
      
      enum ColorLabel {
        blue('Blue', Colors.blue),
        pink('Pink', Colors.pink),
        green('Green', Colors.green),
        yellow('Yellow', Colors.yellow),
        grey('Grey', Colors.grey);
      
        const ColorLabel(this.label, this.color);
        final String label;
        final Color color;
      }
      ```
      
      <img width="500" alt="Screenshot 2023-06-28 at 11 33 20 PM" src="https://github.com/flutter/flutter/assets/36861262/e703f8a2-6e7c-45a0-86cf-d96da6dc157a">
      
      </details>
      12acff81
  5. 30 Jun, 2023 1 commit
  6. 14 Jun, 2023 1 commit
  7. 13 Jun, 2023 1 commit
  8. 20 Apr, 2023 1 commit
  9. 19 Apr, 2023 1 commit
  10. 06 Apr, 2023 1 commit
  11. 31 Mar, 2023 1 commit
  12. 22 Mar, 2023 1 commit
  13. 23 Feb, 2023 1 commit
  14. 27 Jan, 2023 1 commit
  15. 01 Dec, 2022 1 commit
  16. 29 Nov, 2022 1 commit