У меня android:windowSoftInputMode="adjustNothing"
установлено в AndroidManifest.xml
Добавлен прослушиватель для клавиатуры:
componentDidMount()
this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow);
}
Определена функция:
_keyboardDidShow = () => {
console.log('_keyboardDidShow called');
}
Но _keyboardDidShow
никогда не вызывается, когда android:windowSoftInputMode="adjustNothing"
.Он прекрасно работает, когда android:windowSoftInputMode="adjustResize"
или android:windowSoftInputMode="adjustPan"
Из документов:
Обратите внимание, что если вы установили android: windowSoftInputMode для AdjustResize или AdjustNothing, то будут только события клавиатурыDidShow и keyboardDidHide.доступно на Android.клавиатураWillShow, а также клавиатураWillHide, как правило, недоступна на Android, поскольку нет соответствующего собственного события.
Справочник по клавиатуре
Я смотрел:
https://github.com/facebook/react-native/issues/2852 (выглядит как открытая ошибка)
Реагируют на собственные события клавиатуры, не работающие с android: windowSoftInputMode = "AdjustNothing" (решение: установите windowSoftInputMode в AdjustPan)
У меня не может быть android:windowSoftInputMode
установить что-либо кроме adjustNothing
У кого-нибудь есть решение или способ обойти эту проблему?