Wie kann man windowSoftInputMode programmgesteuert auf verschiedenen Bildschirmen in React-Native einstellen?

Oct 21 2020

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

1 AyeshaSaeed Nov 24 2020 at 21:38

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

1 Praya Oct 21 2020 at 08:38

Versuchen Sie, ScrollView anstelle von View zu verwenden, und wickeln Sie es dann in KeyboardAvoidingView ein