zeba_academy_keyboard_manager 0.0.1
zeba_academy_keyboard_manager: ^0.0.1 copied to clipboard
Smart keyboard management utilities for Flutter apps with auto scroll, focus handling, overflow prevention, and smooth animations.
zeba_academy_keyboard_manager #
A production-ready Flutter package for smart keyboard management with automatic scrolling, keyboard visibility detection, focus handling, overflow prevention, and smooth animations.
✨ Features #
✅ Auto scroll when keyboard opens
✅ Keyboard visibility detection
✅ Input focus handling
✅ Prevent bottom overflow
✅ Smooth keyboard animations
✅ Dismiss keyboard on outside tap
✅ Lightweight and easy to use
✅ Fully customizable
📦 Installation #
Add this to your pubspec.yaml:
dependencies:
zeba_academy_keyboard_manager: ^0.0.1
Then run:
flutter pub get
🚀 Import #
import 'package:zeba_academy_keyboard_manager/zeba_academy_keyboard_manager.dart';
🧠 Usage #
Basic Example #
ZebaKeyboardFocusHandler(
child: ZebaKeyboardAwareScrollView(
child: Column(
children: [
TextField(),
],
),
),
)
📱 Full Example #
import 'package:flutter/material.dart';
import 'package:zeba_academy_keyboard_manager/zeba_academy_keyboard_manager.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: const DemoPage(),
);
}
}
class DemoPage extends StatelessWidget {
const DemoPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Keyboard Manager'),
),
body: ZebaKeyboardFocusHandler(
child: ZebaKeyboardAwareScrollView(
child: Column(
children: List.generate(
20,
(index) => Padding(
padding: const EdgeInsets.only(bottom: 16),
child: TextField(
decoration: InputDecoration(
hintText: 'Field ${index + 1}',
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
),
),
),
),
),
),
),
);
}
}
🔍 Keyboard Visibility Detection #
ZebaKeyboardVisibilityBuilder(
builder: (context, visible, height) {
return Text(
visible
? 'Keyboard Open'
: 'Keyboard Closed',
);
},
)
🎯 Dismiss Keyboard Programmatically #
ZebaKeyboardManager.dismissKeyboard(context);
📏 Get Keyboard Height #
final height =
ZebaKeyboardManager.keyboardHeight(context);
👀 Check Keyboard Visibility #
final visible =
ZebaKeyboardManager.isKeyboardVisible(context);
🧪 Testing #
Run tests using:
flutter test
📊 Analyze Package #
flutter analyze
🛠 Example App #
Navigate to the example project:
cd example
flutter run
📂 Package Structure #
lib/
├── zeba_academy_keyboard_manager.dart
└── src/
├── keyboard_manager.dart
├── keyboard_visibility_builder.dart
├── keyboard_aware_scroll_view.dart
└── keyboard_focus_handler.dart
🔥 Upcoming Features #
- Keyboard height stream
- Smart focus traversal
- Sticky bottom input support
- Chat screen helpers
- Keyboard safe-area utilities
- Advanced animation controls
- Bottom sheet keyboard handling
🤝 Contributing #
Contributions, issues, and feature requests are welcome!
Feel free to fork this repository and submit a pull request.
📄 License #
This project is licensed under the MIT 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 #
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: YouTube Channel
➡ Follow us on Instagram: Instagram
❤️ Support #
If you like this package, give it a ⭐ on GitHub and share it with the Flutter community!
Thank you for visiting!