是否有一种通用的方法来获取键盘高度并为View输入底边距?
我想要这种情况:
我有一个理论上可以获取键盘高度的函数
const useKeyboard = (): [number] => {
const [keyboardHeight, setKeyboardHeight] = useState(0);
function onKeyboardDidShow(e: KeyboardEvent): void {
setKeyboardHeight(e.endCoordinates.height);
}
function onKeyboardDidHide(): void {
setKeyboardHeight(0);
}
useLayoutEffect(() => {
Keyboard.addListener('keyboardDidShow', onKeyboardDidShow);
Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);
return (): void => {
Keyboard.removeListener('keyboardDidShow', onKeyboardDidShow);
Keyboard.removeListener('keyboardDidHide', onKeyboardDidHide);
};
}, []);
return [keyboardHeight];
};
此片段获取y轴上的坐标
setKeyboardHeight(e.endCoordinates.height)
问题出现在以下时间:
当我使用Android模拟器,并且在实际设备上安装应用程序时,上面的方法效果很好,底部已经有一个空白栏
它可以在某些手机上使用,而不能在其他手机上使用
有什么方法可以将我的视图直接设置在键盘上方,或者在屏幕最底部关闭键盘时将其设置为视图?