π EaseX - Simplify Flutter Development ποΈ
EaseX is a feature-rich Flutter package that enhances development by providing a collection of powerful extensions and utilities. It simplifies UI styling, navigation, validation, device information handling, and much more. β¨

π― Features
β
Text Styling Extensions ποΈ - Easily apply bold, italic, underlined, colored, and size styles to Text widgets.
β
Navigation Simplifications π§ - Use .push() and .pop() to navigate between screens effortlessly.
β Device Utilities π± - Get device information like screen size, platform type (Android/iOS), and keyboard visibility.
β Validation Helpers β - Built-in validators for common form inputs such as email, phone number, and password strength.
β
Toast Notifications π - Display toast messages easily using showToast(), showSuccessToast(), etc.
β
Spacing & Padding Extensions π - Use .vBox and .pad() to manage spacing between widgets.
β
Keyboard Management β¨οΈ - Hide the keyboard programmatically with EaseXDevice.hideKeyboard().
β
Rotation & Visibility π - Rotate widgets with .rotate() and conditionally show them with .showIf().
β
Asynchronous Handling β³ - Delay actions using Future.delayed(1.seconds) instead of manually defining durations.
β
Loading Indicator π - Show and hide a global loader using EaseXLoader.show() and EaseXLoader.hide().
β
Expandable Widgets π - Wrap widgets in .expanded() for better layout management.
β Smooth Alert Dialog Animation π - Animated alert dialogs with bounce effects!
β Sharing Made Easy with EaseXShare Utils π - Share text, images, videos, pdf and etc... files easily using EaseXShare Utils.
β EaseXMedia - Powerful media picking utilities
β EaseXStorage - Simple key-value storage
π New Features in v1.5.0
β EaseFileSaver - Save Dynamic Files in iOS and Android
β Shimmer Effect on Widgets β Easily apply a shimmer effect to any widget using .shimmer()
And much more! π Explore the complete package to discover all utilities. π¦
π Getting Started
π₯ Install the package
flutter pub add ease_x
π Import it into your project
import 'package:ease_x/ease_x.dart';
β‘ Usage
π¨ Text Styling Extensions
Text('Bold Text').bold(); // π Make text bold
Text('Colored Text').colored(Colors.deepPurple); // π¨ Apply color to text
Text('Sized Text').size(20); // π‘ Change text size
Text('Underlined Text').underlined(); // βοΈ Underline text
π§ Navigation Simplification
context.push(SecondScreen()); // π Navigate to another screen
context.pop(); // π Go back to the previous screen
π± Device Utilities
bool hasInternet = await EaseXDevice.hasInternetConnection(); // π Check internet connection
double screenWidth = EaseXDevice.getScreenWidth(context); // π Get screen width
π¨ Light and Dark Theme
MaterialApp(
debugShowCheckedModeBanner: false,
theme: EaseXTheme.light, // π Light Theme
darkTheme: EaseXTheme.dark, // π Dark Theme
navigatorKey: EaseXLoader.navigatorKey, // π Required for EaseXLoader
home: const ExampleHomeScreen(), // π Initial Screen
);
π Toast Messages
"Hello from EaseX!".showBlackToast(); // π’ Show black toast
"Success!".showSuccessToast(); // β
Show success toast
β³ Show/Hide Loader
EaseXLoader.show(); // π Show loading indicator
await Future.delayed(2.seconds);
EaseXLoader.hide(); // β Hide loader
π Animated Alert Dialogs**
EaseXLoader.showAlert("This is an info alert!"); // βΉοΈ Show an info alert
EaseXLoader.showErrorAlert("Oops! Something went wrong."); // β Show an error alert
EaseXLoader.showSuccessAlert(); // β
Show a success alert
π Share Utils
EaseXShare.shareSingleImage(imageFile, text: "Sample Text");
EaseXShare.shareFile(file);
EaseXShare.openWhatsAppChat('+91', '8920119443',message: "Flutter Developer.");
ποΈ Conditional Visibility
Text('Visible Text').showIf(condition == true); // π Show text based on condition
πΌοΈ Media Utilities
// Pick single image
final image = await EaseXMedia.pickImage();
// Pick video
final video = await EaseXMedia.pickVideo();
πΎ EaseX Storage
// Initialize (call once)
await EaseXStorage.init();
// Save data
await EaseXStorage.setString('token', 'abc123');
// Read data
final token = EaseXStorage.getString('token');
// Remove data
await EaseXStorage.remove('token');
π New Features in v1.5.0
πΎ EaseX File Saver
await EaseXFileSaver.saveFile(
fileName: 'note',
type: FileType.text,
content:
'EaseX is an Utility package for helping Flutter Developers.',
);
β¨ Shimmer Effect
Container(
width: 200,
height: 120,
decoration:
BoxDecoration(borderRadius: BorderRadius.circular(12.0)),
).shimmer().pad(all: 12.0)
βΉοΈ Additional Information
EaseX is designed to make Flutter development easier and faster by reducing boilerplate code. π
There is so much more to explore! Check out the package code for a deep dive into all available features.
Happy coding! ππ₯
π¨βπ» Contributors
This package is actively maintained by:
|
Shashwat |
Ajay |
π¬ Feel free to connect with us on LinkedIn! π
Let me know if you need any modifications! ππ₯