Как программно установить windowSoftInputMode на разных экранах в react-native?
В моем приложении, поддерживающем реакцию, мне нужно различное поведение экрана на разных экранах при появлении клавиатуры.
На некоторых экранах мне нужно, чтобы экран двигался вверх, а на некоторых экранах я не хочу менять положение экрана и т. Д.
Отдельные модели поведения может быть достигнуто путем установки значений android:windowSoftInputModeв adjustNothingили adjustResizeв AndroidManifest.xmlфайле.
Но установка этих значений в файле манифеста изменяет поведение всех экранов.
Есть ли способ изменить это программно на разных экранах?
В коде Android это выглядит достижимым с помощью вызова getWindow () . Как это сделать в react-native?
Ответы
Попробуйте этот компонент react-native-android-keyboard-adjust
Когда компонент, в котором вы не хотите перемещать представления, монтируется, установите, AndroidKeyboardAdjust.setAdjustPan()а когда этот компонент отключен, сбросьте его AndroidKeyboardAdjust.setAdjustResize()или любой другой вариант, который соответствует вашим критериям
См. Этот ответ
попробуйте использовать ScrollView вместо View, затем оберните его KeyboardAvoidingView