Package selection guidance compiled from public package information, community data, and project usage.
SuperKeyboard is a Flutter plugin that provides real-time detection of keyboard visibility and dimensions on Android and iOS devices. It enables developers to respond dynamically to keyboard appearance, ensuring UI elements remain accessible and properly positioned. The package simplifies handling keyboard interactions by exposing precise information about the keyboard's height and state, which is essential for responsive layouts in forms, chat interfaces, and input-heavy applications. Built with cross-platform compatibility in mind, it integrates seamlessly into existing Flutter projects.
Use cases
Dynamic form layout adjustment
Chat interface responsiveness
Input field focus management
Avoiding content overlap
Responsive UI during keyboard pop-up
Key features
Real-time keyboard visibility detection
Accurate keyboard size reporting
Cross-platform support (Android & iOS)
Simple API integration
Event-driven keyboard state updates
Suitable for
Developers building input-heavy apps
Apps requiring adaptive UI layouts
Form and chat application creators
Teams prioritizing cross-platform consistency
Considerations
Requires platform-specific configuration for edge cases
May need additional logic for complex nested scroll views
Limited to keyboard size/visibility—no input handling
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Open source, configurable, extensible text editor and document renderer for Flutter.
Super Editor works with any backend. Plug yours in and go!
Super Editor was initiated by Superlist and is implemented and maintained by the Flutter Bounty Hunters, Superlist, and the contributors.
A Note on Releases (June, 2024):
We've been busy at work on core editor improvements like undo/redo, a stable editor pipeline, and useful editor reactions. These APIs have evolved a lot, so we haven't cut a standard release in a long time. We're still evolving those APIs right now.
Rest assured, Super Editor and the other projects in this repo are under regular development. We're still here and working hard.
We're now starting to publish developer releases of Super Editor so that the community can see what we've been working on.
As a reminder, your project doesn't need to use Pub to use Super Editor. You can depend directly on this GitHub repository to keep up with the latest changes. Please check the section below about our Git branches.
A Note on Branches:
Do you use Flutter's stable branch? Be sure to checkout super_editor's stable branch, for compatibility. Do you use Flutter's master branch? Be sure to checkout super_editor's main branch, for compabitility.
You might notice that this is a mono-repo, which includes multiple projects. That's because we're not just building an editor. We're building a document editing toolkit. In fact, we're revolutionizing all text layout and editing with Flutter! Check out some of our supporting projects.
Mono-repo Versioning
If you have compilation errors when using the GitHub version of super_editor, try overriding dependencies for the other packages in this mono-repo, e.g., super_editor_markdown, super_text_layout, and attributed_text. This project often makes changes to multiple packages within the mono-repo, which requires that you use the latest main or stable version of every package.
You can override your dependencies as follows:
dependency_overrides:super_editor:git:url:https://github.com/superlistapp/super_editorpath:super_editorref:stable# or "main"super_editor_markdown:git:url:https://github.com/superlistapp/super_editorpath:super_editor_markdownref:stablesuper_text_layout:git:url:https://github.com/superlistapp/super_editorpath:super_text_layoutref:stableattributed_text:git:url:https://github.com/superlistapp/super_editorpath:attributed_textref:stable