πŸš€ 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! πŸš€πŸ”₯