React Native Android中键盘完全关闭时的回调方法咨询
React Native Android 键盘完全关闭的事件监听方案
在React Native中,监听键盘完全关闭的回调可以通过官方Keyboard模块的keyboardDidHide事件实现,具体说明和示例如下:
- 核心事件:
keyboardDidHide
该事件在键盘完全关闭并从屏幕上消失后触发,区别于keyboardWillHide(在键盘即将关闭前触发,不过Android系统因机制限制,keyboardWillHide的触发时机和keyboardDidHide几乎无差,所以优先使用keyboardDidHide来监听完全关闭的状态)
代码示例
import { Keyboard, useEffect } from 'react-native'; // 在函数组件中使用 useEffect(() => { // 添加键盘完全关闭的监听 const didHideSubscription = Keyboard.addListener( 'keyboardDidHide', () => { // 此处编写键盘完全关闭后的业务逻辑 console.log('键盘已完全关闭'); } ); // 组件卸载时移除监听,避免内存泄漏 return () => didHideSubscription.remove(); }, []);
注意事项
- 所有稳定版本的React Native均支持该API,无需额外依赖
- 若遇到部分第三方输入法下触发延迟的情况,可尝试在事件回调中加入微小延迟处理,或检查是否有自定义布局干扰了键盘事件的传递
- 如需获取键盘相关的尺寸信息,可在
keyboardDidHide回调中调用Keyboard.getMetrics()获取
内容的提问来源于stack exchange,提问作者Jagjit Singh
相关产品推荐
相关产品推荐

