FLUTTER ECOSYSTEM

TrangLeQuynh/flexible_dropdown

TrangLeQuynh/flexible_dropdown open-source repository details.

flexible_dropdown project cover
Stars
4
Forks
0
Last push (UTC)
Dec 21, 2025
Project status
Active
TrangLeQuynh GitHub avatar
GITHUB User

TrangLeQuynh ↗

LanguagesDartSwiftRubyKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 4 items
  • flutter{"sdk":"flutter"}
  • plugin_platform_interface^2.0.2
  • flutter_testDevelopment{"sdk":"flutter"}
  • flutter_lintsDevelopment^2.0.0

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

Flexible Dropdown Package

Features

  • Customize dropdown

  • Auto scroll to selected item position

  • Support BarrierShape.headerTrans to highlight the content above the flexible dropdown button

  • Allows the dropdown to be dismissed by tapping | panning the scrim or by pressing the escape key on the keyboard.

  • Allow to choose the Animation Type

Installation

First, add flexible_dropdown as a dependency in your pubspec.yaml file.

dependencies:
  flexible_dropdown: ^1.0.7

Usage

FlexibleDropdown(
  overlayChild: Container(
    height: 160,
    width: double.infinity,
    color: Colors.deepPurple,
  ),
  barrierColor: Colors.black38.withOpacity(.2),
  barrierShape: BarrierShape.headerTrans,
  textDirection: TextDirection.ltr,
  offset: Offset.zero,
  duration: const Duration(milliseconds: 400),
  animationType: AnimationType.size,
  animationAlignment: Alignment.topCenter,
  child: Container(
    decoration: BoxDecoration(
      borderRadius: BorderRadius.circular(6),
      color: Colors.blueAccent.withOpacity(.2),
    ),
    child: Padding(
      padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 20),
      child: Text(
        title,
        style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500),
      ),
    ),
  ),
)

Usage to close the flexible dropdown:

Navigator.pop(context);

Animation Type

scale scaleX scaleY
https://raw.githubusercontent.com/TrangLeQuynh/flexible_dropdown/HEAD/assets/scale.gif https://raw.githubusercontent.com/TrangLeQuynh/flexible_dropdown/HEAD/assets/scaleX.gif https://raw.githubusercontent.com/TrangLeQuynh/flexible_dropdown/HEAD/assets/scaleY.gif
size slide fade
https://raw.githubusercontent.com/TrangLeQuynh/flexible_dropdown/HEAD/assets/size.gif https://raw.githubusercontent.com/TrangLeQuynh/flexible_dropdown/HEAD/assets/slide.gif https://raw.githubusercontent.com/TrangLeQuynh/flexible_dropdown/HEAD/assets/fade.gif
rotate
https://raw.githubusercontent.com/TrangLeQuynh/flexible_dropdown/HEAD/assets/rotate.gif

Note: AnimationType.size is only suitable for width of overlayChild is full screen width.