EZ Flutter Widgets
A collection of simple, defensive, and developer-friendly Flutter widgets designed to prevent common crashes and reduce boilerplate.
Available Widgets
-
A smart avatar widget that automatically generates initials and contrasting background colors from names. Handles image loading errors gracefully.
-
A pre-validated, highly customizable email text field with built-in regex and error handling. Just drop it in a
Formand go. -
A crash-safe
GridView.builderthat automatically handles unbounded constraints in Columns and Rows, preventing "Vertical viewport was given unbounded height" errors. -
A defensive
ListView.builderthat prevents layout crashes from unbounded height/width constraints. It acts as a drop-in replacement for standard ListViews. -
A defensive wrapper for
CustomScrollViewthat safely handles unbounded constraints with helpful debug info. -
A defensive widget that provides flex-based expansion behavior while safely handling unbounded constraints. It prevents "Incorrect use of ParentDataWidget" crashes.
-
A secure password field with built-in visibility toggle and configurable validation rules (length, charset).
Installation
Add the desired package to your pubspec.yaml:
dependencies:
ez_circle_avatar: ^0.1.0
ez_email_field: ^0.1.0
ez_grid_view: ^0.1.0
ez_list_view: ^0.1.0
ez_custom_scroll_view: ^0.1.0
ez_expanded: ^0.1.0
Philosophy
- Defensive: Widgets should never crash your app. They should handle edge cases (unbounded constraints, nulls, errors) gracefully.
- Developer-Friendly: Clear error messages in debug mode help you fix issues fast, while silent fixes in release mode keep users happy.
- Simple: Minimal configuration required. Sensible defaults for everything.
Support
If you find these widgets helpful, please consider supporting the project: