【问题标题】:React Nativigation navigating back on Android Keyboard BugReact Navigation 导航回 Android 键盘错误
【发布时间】:2020-08-03 19:59:56
【问题描述】:
我目前有一个带有一个主屏幕的 React Native 应用程序,该应用程序导航到具有 3 个文本输入的第二个屏幕。我遇到的问题只发生在 Android 上。在第二个屏幕上,每当文本输入成为焦点并且我尝试通过 React Navigations 的后退按钮导航回来时,键盘会隐藏,然后重新出现,然后隐藏,然后转换回第一个屏幕。当我最初按下后退按钮时,输入焦点似乎模糊了,然后当我放手时,它重新关注输入,然后再次模糊,然后导航回来。不知道为什么会在 Android 上发生这种情况。它在 iOS 上按预期工作。有什么解决办法吗?
谢谢!
【问题讨论】:
标签:
android
react-native
keyboard
react-navigation
【解决方案1】:
你一直在操纵keyboardHandlingEnabled 道具吗?它可能与此有关。
或者您可以使用This Guide 挂钩回按事件并首先模糊您的文本输入,如下所示。
function ScreenWithCustomBackBehavior() {
// ...
useFocusEffect(
React.useCallback(() => {
const onBackPress = () => {
if (isSelectionModeEnabled()) {
disableSelectionMode();
return true;
} else {
return false;
}
};
BackHandler.addEventListener('hardwareBackPress', onBackPress);
return () =>
BackHandler.removeEventListener('hardwareBackPress', onBackPress);
}, [isSelectionModeEnabled, disableSelectionMode])
);
// ...
}