diff --git a/lib/src/side_menu.dart b/lib/src/side_menu.dart index bd68616..ba5d9d5 100644 --- a/lib/src/side_menu.dart +++ b/lib/src/side_menu.dart @@ -82,6 +82,7 @@ class SideMenu extends StatefulWidget { return SideMenuItemWithGlobal( global: global, title: data.title, + titleFlex: data.titleFlex, onTap: data.onTap, icon: data.icon, iconWidget: data.iconWidget, diff --git a/lib/src/side_menu_item.dart b/lib/src/side_menu_item.dart index 03a692c..2a52528 100644 --- a/lib/src/side_menu_item.dart +++ b/lib/src/side_menu_item.dart @@ -6,6 +6,9 @@ class SideMenuItem { /// Title text final String? title; + /// Title flex for expanding + final int titleFlex; + /// A function that will be called when tap on [SideMenuItem] corresponding /// to this [SideMenuItem] final void Function(int index, SideMenuController sideMenuController)? onTap; @@ -41,9 +44,11 @@ class SideMenuItem { /// Create custom sideMenuItem widget with builder final Widget Function(BuildContext context, SideMenuDisplayMode displayMode)? builder; + const SideMenuItem({ this.onTap, this.title, + this.titleFlex = 1, this.icon, this.iconWidget, this.badgeContent, diff --git a/lib/src/side_menu_item_with_global.dart b/lib/src/side_menu_item_with_global.dart index 2fdbb8b..3953fb2 100644 --- a/lib/src/side_menu_item_with_global.dart +++ b/lib/src/side_menu_item_with_global.dart @@ -20,6 +20,7 @@ class SideMenuItemWithGlobal extends StatefulWidget { required this.global, this.onTap, this.title, + this.titleFlex = 1, this.icon, this.iconWidget, this.badgeContent, @@ -40,6 +41,9 @@ class SideMenuItemWithGlobal extends StatefulWidget { /// Title text final String? title; + /// Title flex for expanding + final int titleFlex; + /// A Icon to display before [title] final Icon? icon; @@ -268,6 +272,7 @@ class _SideMenuItemState extends State { SizedBox(width: widget.global.style.itemInnerSpacing), if (value == SideMenuDisplayMode.open) ...[ Expanded( + flex: widget.titleFlex, // Expanded will allow the text to take up all available space child: Text( widget.title ?? '',