Wie kann man windowSoftInputMode programmgesteuert auf verschiedenen Bildschirmen in React-Native einstellen?
In meiner reaktionsnativen App benötige ich ein anderes Bildschirmverhalten auf verschiedenen Bildschirmen, wenn die Tastatur angezeigt wird.
In einigen Bildschirmen muss sich der Bildschirm nach oben bewegen, und in einigen Bildschirmen möchte ich die Bildschirmposition usw. nicht ändern.
Individuelles Verhalten kann durch Setzen Werte erreicht werden , android:windowSoftInputModeauf adjustNothingoder adjustResizein AndroidManifest.xmlDatei.
Das Festlegen dieser Werte in der Manifestdatei ändert jedoch das Verhalten für alle Bildschirme.
Gibt es eine Möglichkeit, es programmgesteuert in verschiedenen Bildschirmen zu ändern?
Im Android-Code scheint es mit einem getWindow () -Aufruf erreichbar zu sein . Wie mache ich das in React-Native?
Antworten
Versuchen Sie diese Komponente reagieren-native-Android-Tastatur-anpassen
Wenn die Komponente, in der Sie keine Ansichten nach oben verschieben möchten, bereitgestellt wird, legen Sie sie fest AndroidKeyboardAdjust.setAdjustPan()und setzen Sie sie zurück AndroidKeyboardAdjust.setAdjustResize()oder auf eine Option, die Ihren Kriterien entspricht
Siehe diese Antwort
Versuchen Sie, ScrollView anstelle von View zu verwenden, und wickeln Sie es dann in KeyboardAvoidingView ein