Smart Dropdown Plus

A simple yet flexible dropdown widget for Flutter with:

  • Single or multiple selection.
  • Smooth opening/closing animations.
  • Search inside dropdown (coming soon).

Features

  • ✅ Single and Multi-select support.
  • ✅ Smooth SizeTransition animations.
  • ✅ Fully customizable appearance.
  • ✅ Easy to integrate and lightweight.

🚀 Getting Started

Installation

Add to your pubspec.yaml:

smart_dropdown_plus: ^0.0.1

then run:

flutter pub get

Usage

  • Single Select:
import 'package:smart_dropdown_plus/smart_dropdown_plus.dart';

SmartDropdownPlus<String>
(
items: [
SmartDropdownItem(value: 'apple', label: 'Apple'),
SmartDropdownItem(value: 'banana', label: 'Banana'),
SmartDropdownItem(value: 'orange', label: 'Orange'),
],
isMultiSelect: false,
hintText: 'Select a fruit',
hintTextStyle : TextStyle(color: Colors.grey),
labelTextStyle : TextStyle(color: Colors.grey),
onChanged: (values) {
debugPrint('Selected (Single): ${values.first}');
},
)
,
  • Multi Select:
import 'package:smart_dropdown_plus/smart_dropdown_plus.dart';

SmartDropdownPlus<String>
(
items: [
SmartDropdownItem(value: 'football', label: 'Football'),
SmartDropdownItem(value: 'basketball', label: 'Basketball'),
SmartDropdownItem(value: 'tennis', label: 'Tennis'),
],
isMultiSelect: true,
hintText: 'Select sports',
hintTextStyle : TextStyle(color: Colors.grey),
labelTextStyle : TextStyle(color: Colors.grey),
selectActiveColor :Colors.blue,
onChanged: (values) {
setState(() {
// List of selected values as List<string>
selectedValues = values;
});
},
)
,

Preview

Preview

📮 Contributing

  • Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

  • If you find a bug or have a feature request, feel free to open an issue.

💬 Support

  • To contrib to this project, you can open a PR or an issue.

👨‍💻 Author

📝 License

  • This project is licensed under the MIT License. See the LICENSE file for details.