// import 'package:dropdown_button2/dropdown_button2.dart'; // import 'package:flutter/material.dart'; // class CustomDropdownButton2 extends StatelessWidget { // final String hint; // final String? value; // final List dropdownItems; // final ValueChanged? onChanged; // final DropdownButtonBuilder? selectedItemBuilder; // final Alignment? hintAlignment; // final Alignment? valueAlignment; // final double? buttonHeight, buttonWidth; // final EdgeInsetsGeometry? buttonPadding; // final BoxDecoration? buttonDecoration; // final int? buttonElevation; // final Widget? icon; // final double? iconSize; // final Color? iconEnabledColor; // final Color? iconDisabledColor; // final double? itemHeight; // final EdgeInsetsGeometry? itemPadding; // final double? dropdownHeight, dropdownWidth; // final EdgeInsetsGeometry? dropdownPadding; // final BoxDecoration? dropdownDecoration; // final int? dropdownElevation; // final Radius? scrollbarRadius; // final double? scrollbarThickness; // final bool? scrollbarAlwaysShow; // final Offset offset; // const CustomDropdownButton2({ // required this.hint, // required this.value, // required this.dropdownItems, // required this.onChanged, // this.selectedItemBuilder, // this.hintAlignment, // this.valueAlignment, // this.buttonHeight, // this.buttonWidth, // this.buttonPadding, // this.buttonDecoration, // this.buttonElevation, // this.icon, // this.iconSize, // this.iconEnabledColor, // this.iconDisabledColor, // this.itemHeight, // this.itemPadding, // this.dropdownHeight, // this.dropdownWidth, // this.dropdownPadding, // this.dropdownDecoration, // this.dropdownElevation, // this.scrollbarRadius, // this.scrollbarThickness, // this.scrollbarAlwaysShow, // this.offset = const Offset(0, 0), // Key? key, // }) : super(key: key); // @override // Widget build(BuildContext context) { // return DropdownButtonHideUnderline( // child: DropdownButton2( // //To avoid long text overflowing. // isExpanded: true, // hint: Container( // alignment: hintAlignment, // child: Text( // hint, // overflow: TextOverflow.ellipsis, // maxLines: 1, // style: TextStyle( // fontSize: 14, // color: Theme.of(context).hintColor, // ), // ), // ), // value: value, // items: dropdownItems // .map((item) => DropdownMenuItem( // value: item, // child: Container( // alignment: valueAlignment, // child: Text( // item, // overflow: TextOverflow.ellipsis, // maxLines: 1, // style: const TextStyle( // fontSize: 14, // ), // ), // ), // )) // .toList(), // onChanged: onChanged, // selectedItemBuilder: selectedItemBuilder, // buttonStyleData: ButtonStyleData( // height: buttonHeight ?? 40, // width: buttonWidth ?? 140, // padding: buttonPadding ?? const EdgeInsets.only(left: 14, right: 14), // decoration: buttonDecoration ?? // BoxDecoration( // borderRadius: BorderRadius.circular(14), // border: Border.all( // color: Colors.black45, // ), // ), // elevation: buttonElevation, // ), // iconStyleData: IconStyleData( // icon: icon ?? const Icon(Icons.arrow_forward_ios_outlined), // iconSize: iconSize ?? 12, // iconEnabledColor: iconEnabledColor, // iconDisabledColor: iconDisabledColor, // ), // dropdownStyleData: DropdownStyleData( // //Max height for the dropdown menu & becoming scrollable if there are more items. If you pass Null it will take max height possible for the items. // maxHeight: dropdownHeight ?? 200, // width: dropdownWidth ?? 140, // padding: dropdownPadding, // decoration: dropdownDecoration ?? // BoxDecoration( // borderRadius: BorderRadius.circular(14), // ), // elevation: dropdownElevation ?? 8, // //Null or Offset(0, 0) will open just under the button. You can edit as you want. // offset: offset, // //Default is false to show menu below button // isOverButton: false, // scrollbarTheme: ScrollbarThemeData( // radius: scrollbarRadius ?? const Radius.circular(40), // thickness: scrollbarThickness != null // ? MaterialStateProperty.all(scrollbarThickness!) // : null, // thumbVisibility: scrollbarAlwaysShow != null // ? MaterialStateProperty.all(scrollbarAlwaysShow!) // : null, // ), // ), // menuItemStyleData: MenuItemStyleData( // height: itemHeight ?? 40, // padding: itemPadding ?? const EdgeInsets.only(left: 14, right: 14), // ), // ), // ); // } // }