passo_mobile_app/lib/utils/custom_dropdown_button.dart

149 lines
5.3 KiB
Dart
Raw Normal View History

// import 'package:dropdown_button2/dropdown_button2.dart';
// import 'package:flutter/material.dart';
2023-03-16 07:53:42 +00:00
// class CustomDropdownButton2 extends StatelessWidget {
// final String hint;
// final String? value;
// final List<String> dropdownItems;
// final ValueChanged<String?>? 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;
2023-03-16 07:53:42 +00:00
// 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);
2023-03-16 07:53:42 +00:00
// @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<String>(
// 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<double>(scrollbarThickness!)
// : null,
// thumbVisibility: scrollbarAlwaysShow != null
// ? MaterialStateProperty.all<bool>(scrollbarAlwaysShow!)
// : null,
// ),
// ),
// menuItemStyleData: MenuItemStyleData(
// height: itemHeight ?? 40,
// padding: itemPadding ?? const EdgeInsets.only(left: 14, right: 14),
// ),
// ),
// );
// }
// }