android - React Nativigation 在 Android 键盘错误上导航
问题描述
我目前有一个带有一个主屏幕的反应原生应用程序,该应用程序导航到具有 3 个文本输入的第二个屏幕。我遇到的问题只发生在 Android 上。在第二个屏幕上,每当文本输入成为焦点并且我尝试通过反应导航的后退按钮向后导航时,键盘会隐藏,然后重新出现,然后隐藏,然后转换回第一个屏幕。似乎当我最初按下后退按钮时,输入焦点模糊了,然后当我放手时,它重新关注输入,然后再次模糊,然后导航回来。不知道为什么会在 Android 上发生这种情况。它在 iOS 上按预期工作。有什么解决办法吗?
谢谢!
解决方案
你一直在操纵keyboardHandlingEnabled
道具吗?它可能与此有关。或者您可以使用本指南挂钩回压事件并首先模糊您的文本输入,如下所示。
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])
);
// ...
}
推荐阅读
- azure - 如何将 Azure AD Cloud Connect 预配用户添加到 Azure Exchange GAL
- angular - 排序工作,但表中的数据未排序 - Angular Material Table
- svelte - sapper 作为静态站点生成器
- c# - 我应该如何将 LINQ 与 UnitOfWork 一起使用
- python - python中的多层包
- regex - 正则表达式匹配多行字符串
- python - anaconda navigator 以下包将被修改解决包规范问题
- spring - 模拟在 Junit 中引发异常后调用的 Aspect 类
- php - php通过键访问空变量作为数组
- php - 在文本文件 php 中写入 \n