KeyboardController
KeyboardController is an object which has two functions:
setInputMode- used to changewindowSoftInputModein runtime;setDefaultMode- used to restore defaultwindowSoftInputMode(which is declared inAndroidManifest.xml);
Understanding how different modes works
To understand the difference between adjustResize/adjustPan/adjustNothing behavior you can look into this post.
info
A combination of adjustResize + edge-to-edge mode will result in behavior similar to adjustNothing - in this case window is not resized automatically and content is not moved along with the keyboard position. And it becomes a responsibility of developer to handle keyboard appearance (thus it'll match iOS behavior).
Example
import {
KeyboardController,
AndroidSoftInputModes,
} from "react-native-keyboard-controller";
export const useResizeMode = () => {
useEffect(() => {
KeyboardController.setInputMode(
AndroidSoftInputModes.SOFT_INPUT_ADJUST_RESIZE,
);
return () => KeyboardController.setDefaultMode();
}, []);
};