在键盘关闭后渲染组件或在 cordova 中的 React 应用程序中监听键盘关闭事件 android
Render component after keyboard closes or listen to keyboard close event in react app in cordova android
我正在使用 cordova
将 'work-in-progress' react.js
应用程序迁移到 android 应用程序。
除了键盘关闭时不会正常呈现自身的组件外,一切似乎都运行良好,该组件通常看起来像这样。
现在,当您单击输入并关闭它时,视图会重新呈现:
但是一旦你填充它并关闭键盘,组件就不会重新渲染它自己:
组件就这样卡住了,简单的解决方案显然是通过再次设置状态来“强制渲染”,问题是我似乎找不到听键盘的方法在此 react-cordova 应用程序上的更改,还有为什么组件会在表单为空时重新呈现,但在填充时不会重新呈现?
希望这对某人有帮助:
在 component
中:
为 window 调整大小事件添加一个空回调。
useEffect(() => {
window.onresize = function(){
//console.log("resizing");
};
}, []);
以及添加到 cordova config.xml:
widget tab
里面
xmlns:android="http://schemas.android.com/apk/res/android"
作为 属性
和:
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
<activity android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustResize" />
</edit-config>
作为小部件的内容。
还有:
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />
在public/index.html
<head/>
我正在使用 cordova
将 'work-in-progress' react.js
应用程序迁移到 android 应用程序。
除了键盘关闭时不会正常呈现自身的组件外,一切似乎都运行良好,该组件通常看起来像这样。
现在,当您单击输入并关闭它时,视图会重新呈现:
但是一旦你填充它并关闭键盘,组件就不会重新渲染它自己:
组件就这样卡住了,简单的解决方案显然是通过再次设置状态来“强制渲染”,问题是我似乎找不到听键盘的方法在此 react-cordova 应用程序上的更改,还有为什么组件会在表单为空时重新呈现,但在填充时不会重新呈现?
希望这对某人有帮助:
在 component
中:
为 window 调整大小事件添加一个空回调。
useEffect(() => {
window.onresize = function(){
//console.log("resizing");
};
}, []);
以及添加到 cordova config.xml:
widget tab
里面
xmlns:android="http://schemas.android.com/apk/res/android"
作为 属性
和:
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
<activity android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustResize" />
</edit-config>
作为小部件的内容。
还有:
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />
在public/index.html
<head/>