Flutter Interactive Keyboard
A way to mimic the IOS interactive dismissable keyboard in Flutter. If you're shipping to Android the behavior will sill be applied without animation due to the Android keyboard limitations.
This plugin is still in development, if you'd like to contribute PRs are welcomed.

How to use it
The KeyboardManagerWidget defines the area where the drag is enabled, the touch are passed to the widget below in order to permit both scroll and drag to dismiss. The focusNode of the textfield is needed to manage the keyboard opening and closing.
See the full example to see a complete implementation.
KeyboardManagerWidget(
focusNode: _focusNode,
child: ListView.builder(
itemCount: 100,
itemBuilder: (context,index){
return ListTile(
title: Text("element $index"),
);
},
),
)
Advanced
Change focusNode
If your app has more than one TextField you can change the current FocusNode from the KeyboardManagerWidgetState as follows:
// Init variable
GlobalKey<KeyboardManagerWidgetState> _key = GlobalKey();
// In the build method
KeyboardManagerWidget(
key: _key,
...
)
// Wherever you like
_key.currentState.substituteFocusNode = newFocusNode;
Libraries
- flutter_interactive_keyboard
- Flutter interactive keyboard Model [...]