Bagaimana cara mengatur windowSoftInputMode secara terprogram pada layar yang berbeda di react-native?
Di aplikasi react-native saya, saya memerlukan perilaku layar yang berbeda di layar yang berbeda saat keyboard muncul.
Di beberapa layar saya memerlukan layar untuk bergerak ke atas, dan di beberapa layar saya tidak ingin mengubah posisi layar, dll.
Perilaku individu dapat dicapai dengan menetapkan nilai android:windowSoftInputModeke adjustNothingatau adjustResizedalam AndroidManifest.xmlfile.
Tetapi menyetel nilai-nilai ini dalam file manifes mengubah perilaku untuk semua layar.
Apakah ada cara untuk mengubahnya secara terprogram dalam layar yang berbeda?
Dalam kode android, ini terlihat bisa dicapai menggunakan panggilan getWindow () . Bagaimana cara melakukannya di react-native?
Jawaban
Coba komponen ini react-native-android-keyboard-adjust
Ketika komponen di mana Anda tidak ingin naik view dipasang, setel AndroidKeyboardAdjust.setAdjustPan()dan ketika komponen itu dilepas, reset ke AndroidKeyboardAdjust.setAdjustResize()atau opsi apa pun yang sesuai dengan kriteria Anda
Lihat jawaban ini
coba gunakan ScrollView, bukan View, lalu bungkus di KeyboardAvoidingView