在键盘关闭后渲染组件或在 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/>