Skip to main content

resizable_row 1.0.0 copy "resizable_row: ^1.0.0" to clipboard
resizable_row: ^1.0.0 copied to clipboard

A Flutter widget that provides resizable row layouts with draggable column separators for dynamic user-defined column sizing.

Release Notes - ResizableRow v1.0.0 #

🎉 Initial Release #

ResizableRow is a powerful Flutter widget that provides resizable row layouts with draggable column separators, allowing users to dynamically resize columns by dragging dividers between them.

✨ Features #

  • Draggable Column Resizing: Users can resize columns by dragging the dividers between them
  • Customizable Dividers: Configure divider appearance, thickness, and hover effects
  • Initial Size Control: Set initial column sizes using fractions
  • Size Constraints: Define minimum and maximum column sizes
  • Responsive Design: Automatically fills the parent widget's width
  • Callbacks: Get notified when column sizes change
  • Custom Dividers: Build your own divider widgets
  • Synchronized Resizing: All items in a list can resize together

🚀 Getting Started #

Add to your pubspec.yaml:

dependencies:
  resizable_row: ^1.0.0

📖 Basic Usage #

import 'package:resizable_row/resizable_row.dart';

ResizableRow(
  children: const [
    Text('Column 1'),
    Text('Column 2'),
    Text('Column 3'),
  ],
  initialFractions: const [0.3, 0.4, 0.3],
  dividerThickness: 8.0,
  onFractionsChanged: (fractions) {
    print('New fractions: $fractions');
  },
)

🎯 Use Cases #

  • Data Tables: Resizable columns for better data viewing
  • Dashboard Layouts: Flexible panel arrangements
  • Product Listings: Customizable product information display
  • Settings Panels: Adjustable configuration interfaces
  • File Managers: Resizable file and folder views

📱 Example App #

The package includes a comprehensive example app demonstrating:

  • Basic resizable columns
  • List of 10 items with synchronized resizing
  • Custom divider styling
  • Size constraints and callbacks
  • Reset functionality

🔧 API Reference #

Property Type Default Description
children List<Widget> required The widgets that make up the columns
initialFractions List<double>? null Initial width fractions for each child
dividerThickness double 8.0 Thickness of the draggable divider
dividerColor Color? null Color of the divider
dividerHoverColor Color? null Color of the divider when hovered
minFractionPerChild double 0.05 Minimum fraction any child can be resized to
maxFractionPerChild double 0.95 Maximum fraction any child can be resized to
onFractionsChanged ValueChanged<List<double>>? null Callback when fractions change
cursor MouseCursor SystemMouseCursors.resizeLeftRight Mouse cursor when hovering divider
dividerBuilder Widget Function(BuildContext, bool)? null Custom divider builder

🛠️ Requirements #

  • Flutter 3.8.1+
  • Dart 3.0+
  • No external dependencies

📄 License #

MIT License - see LICENSE file for details.

🤝 Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.


Happy coding! 🎉

0
likes
150
points
8
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter widget that provides resizable row layouts with draggable column separators for dynamic user-defined column sizing.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on resizable_row