¿Cómo configurar windowSoftInputMode programáticamente en diferentes pantallas en react-native?

Oct 21 2020

En mi aplicación nativa de reacción, necesito un comportamiento de pantalla diferente en diferentes pantallas cuando aparece el teclado.
En algunas pantallas necesito que la pantalla se mueva hacia arriba, y en algunas pantallas no quiero cambiar la posición de la pantalla, etc.

Los comportamientos individuales se pueden lograr estableciendo valores de android:windowSoftInputModeto adjustNothingo adjustResizeen el AndroidManifest.xmlarchivo.

Pero establecer estos valores en el archivo de manifiesto cambia el comportamiento de todas las pantallas.

¿Hay alguna forma de cambiarlo mediante programación en diferentes pantallas?

En el código de Android, parece alcanzable mediante una llamada a getWindow () . ¿Cómo hacerlo en react-native?

Respuestas

1 AyeshaSaeed Nov 24 2020 at 21:38

Pruebe este componente react-native-android-keyboard-adjust

Cuando el componente en el que no desea subir las vistas se monta, configúrelo AndroidKeyboardAdjust.setAdjustPan()y cuando ese componente desmonte, reinícielo AndroidKeyboardAdjust.setAdjustResize()o cualquier opción que se adapte a sus criterios

Ver esta respuesta

1 Praya Oct 21 2020 at 08:38

intente usar ScrollView en lugar de View y luego envuélvalo en KeyboardAvoidingView