🚀 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. ✨


EaseX Animation

đŸŽ¯ 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! 🚀đŸ”Ĩ