πŸ“Έ Screenshots

Custom Decoration Single Select Single Select with Search Multi Select Multi Select with Search
Custom Decoration Single Select Single Select with Search Multi Select Multi Select with Search

🧩 Custom Dropdown for Flutter

A fully customizable dropdown widget for Flutter that supports single-select, multi-select, and search β€” all in one widget.
Lightweight, flexible, and easy to integrate into any Flutter project.


πŸ“± Platform Support

Platform Supported Tested
Android βœ… βœ…
iOS βœ… βœ…
Web βœ… βœ…
Windows βœ… βš™οΈ
macOS βœ… βš™οΈ
Linux βœ… βš™οΈ

πŸ’‘ Works with Flutter 3.0+ and Dart 3.0+


✨ Features

βœ… Single Select (default) β€” behaves like a normal dropdown
βœ… Multi Select β€” users can select multiple items
βœ… Searchable Dropdown β€” optional search bar for filtering
βœ… Flexible Decoration β€” customize dropdown and list appearance
βœ… Custom InputDecoration for search bar
βœ… Auto position below the button
βœ… Lightweight (~3 KB compressed)
βœ… No external dependencies βœ… Custom Dropdown Button Design βœ… Custom Dropdown Icon


βš™οΈ Customization Options

Below is a complete list of customizable properties available in the AdvancedDropdown widget.

Property Type Required Default Description
items List<String> βœ… Yes – The list of items to display in the dropdown.
onChanged Function(dynamic) βœ… Yes – Callback triggered when an item is selected. Returns a value or list depending on selection mode.
isSearch bool ❌ No false Enables a search bar for filtering dropdown items.
isMultiSelect bool ❌ No false Enables multiple selection with checkboxes.
decoration BoxDecoration? ❌ No null Customizes the dropdown button (border, color, shape, etc.).
dropdownDecoration BoxDecoration? ❌ No null Styles the dropdown list container.
inputDecoration InputDecoration? ❌ No null Customizes the search text field decoration.
hintText String? ❌ No "Select an option" The text shown when no item is selected.
selectedTextStyle TextStyle? ❌ No null Custom text style for the selected item(s).
itemTextStyle TextStyle? ❌ No null Custom text style for each dropdown item.
icon Widget? ❌ No Icon(Icons.arrow_drop_down) Dropdown icon beside the button.
key Key? ❌ No null Flutter widget key for testing or identification.

πŸ’‘ Notes

  • Default mode = Single Select
  • When isMultiSelect: true, the onChanged callback returns a List of selected items.
  • Dropdown automatically opens below the button.
  • You can style everything (dropdown, button, list, search bar).
  • Works seamlessly with light and dark themes.

Libraries

advanced_dropdown