zeba_academy_expandable_widgets 1.0.0
zeba_academy_expandable_widgets: ^1.0.0 copied to clipboard
Beautiful expandable widgets with accordion support, animations, nested expansion, and state persistence.
zeba_academy_expandable_widgets #
A powerful and customizable Flutter package for creating beautiful expandable widgets with smooth animations, accordion layouts, nested expandables, and state persistence.
✨ Features #
✅ Expandable cards
✅ Accordion UI
✅ Smooth animated expansion
✅ Nested expandable widgets
✅ State persistence using SharedPreferences
✅ Customizable animations
✅ Material 3 support
✅ Lightweight and easy to use
✅ Production-ready architecture
📦 Installation #
Add this to your pubspec.yaml:
dependencies:
zeba_academy_expandable_widgets: ^1.0.0
Then run:
flutter pub get
🚀 Import #
import 'package:zeba_academy_expandable_widgets/zeba_academy_expandable_widgets.dart';
📌 Expandable Card #
ExpandableCard(
title: const Text('Tap to Expand'),
child: const Text(
'This is expandable content.',
),
)
📌 Accordion UI #
Accordion(
items: [
AccordionItem(
title: const Text('Section 1'),
child: const Text('Content 1'),
),
AccordionItem(
title: const Text('Section 2'),
child: const Text('Content 2'),
),
],
)
📌 Nested Expandables #
NestedExpandable(
parentTitle: 'Parent',
children: const [
'Child 1',
'Child 2',
'Child 3',
],
)
📌 State Persistence #
ExpandableCard(
persistState: true,
persistenceKey: 'settings_tile',
title: const Text('Settings'),
child: const Text('Saved expansion state'),
)
🎨 Customization #
ExpandableCard(
title: const Text('Custom Card'),
backgroundColor: Colors.blue.shade50,
borderRadius: BorderRadius.circular(24),
duration: const Duration(milliseconds: 500),
child: const Text('Beautiful animations'),
)
📂 Package Structure #
lib/
│
├── zeba_academy_expandable_widgets.dart
│
└── src/
├── models/
│ └── expandable_controller.dart
│
├── utils/
│ └── persistence_helper.dart
│
└── widgets/
├── accordion.dart
├── expandable_card.dart
└── nested_expandable.dart
🧪 Testing #
Run tests:
flutter test
Analyze package:
flutter analyze
📱 Example #
import 'package:flutter/material.dart';
import 'package:zeba_academy_expandable_widgets/zeba_academy_expandable_widgets.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Expandable Widgets Demo'),
),
body: Padding(
padding: const EdgeInsets.all(16),
child: ExpandableCard(
title: const Text('Click Here'),
child: const Text(
'Animated expandable content.',
),
),
),
),
);
}
}
🔥 Upcoming Features #
- Expand/Collapse All
- Cupertino expandable widgets
- Sliver expandable support
- RTL support
- Advanced animation builders
- Expandable list groups
- Riverpod/BLoC integration
🤝 Contributing #
Contributions are welcome!
Feel free to open issues, submit pull requests, and improve the package.
📜 License #
This project is licensed under the GPL-3.0 License.
👨💻 About Me #
✨ I’m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
You can learn more about me and my work at sufyanism.com or connect with me on Linkedin
🚀 Your all-in-one learning hub! #
🚀 Explore courses and resources in coding, tech, and development at zeba.academy and code.zeba.academy. Empower yourself with practical skills through curated tutorials, real-world projects, and hands-on experience. Level up your tech game today! 💻✨
Zeba Academy is a learning platform dedicated to coding, technology, and development.
➡ Visit our main site: zeba.academy
➡ Explore hands-on courses and resources at: code.zeba.academy
➡ Check out our YouTube for more tutorials: zeba.academy
➡ Follow us on Instagram: zeba.academy
❤️ Support #
If you like this package, give it a ⭐ on GitHub and share it with the Flutter community!
Thank you for visiting!