Comment définir windowSoftInputMode par programmation sur différents écrans en react-native?
Dans mon application React-native, j'ai besoin d'un comportement d'écran différent sur différents écrans lorsque le clavier apparaît.
Sur certains écrans, j'ai besoin que l'écran se déplace vers le haut, et sur certains écrans, je ne veux pas changer la position de l'écran, etc.
Des comportements individuels peuvent être obtenus en définissant des valeurs de android:windowSoftInputModeto adjustNothingou adjustResizein AndroidManifest.xmlfile.
Mais la définition de ces valeurs dans le fichier manifeste modifie le comportement de tous les écrans.
Existe-t-il un moyen de le modifier par programmation dans différents écrans?
Dans le code Android, cela semble réalisable en utilisant un appel getWindow () . Comment le faire en React-Native?
Réponses
Essayez ce composant react-native-android-keyboard-adjust
Lorsque le composant dans lequel vous ne souhaitez pas déplacer les vues vers le haut se monte, définissez AndroidKeyboardAdjust.setAdjustPan()et lorsque ce composant est démonté, réinitialisez-le AndroidKeyboardAdjust.setAdjustResize()ou selon l'option qui correspond à vos critères
Voir cette réponse
essayez d'utiliser ScrollView au lieu de View, puis enveloppez-le sur KeyboardAvoidingView