πΈ Screenshots
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
, theonChanged
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.