2022-07-27 17:24:53 版本 : Unity新版浏览器插件Vuplex 3D WebView,解决输入框无法输入文字以及无法输入中文问题
作者: 王元超 于 2022年07月27日 发布在分类 / BIM组 / BIM视图 下,并于 2022年07月27日 编辑
 历史版本

修改日期 修改人 备注
2022-07-27 17:27:08[当前版本] 王元超 修改标题
2022-07-27 17:24:53 王元超 创建版本

解决输入框无法输入文字需要先在代码中添加以下方法:

void _setUpHardwareKeyboard()
    {

        // Send keys from the hardware (USB or Bluetooth) keyboard to the webview.
        // Use separate `KeyDown()` and `KeyUp()` methods if the webview supports
        // it, otherwise just use `IWebView.HandleKeyboardInput()`.
        // https://developer.vuplex.com/webview/IWithKeyDownAndUp
        _hardwareKeyboardListener = HardwareKeyboardListener.Instantiate();
        _hardwareKeyboardListener.KeyDownReceived += (sender, eventArgs) => {
            var webViewWithKeyDown = mViewComp.browser.WebView as IWithKeyDownAndUp;
            if (webViewWithKeyDown == null)
            {
                mViewComp.browser.WebView.HandleKeyboardInput(eventArgs.Value);
            }
            else
            {
                webViewWithKeyDown.KeyDown(eventArgs.Value, eventArgs.Modifiers);
            }
        };
        _hardwareKeyboardListener.KeyUpReceived += (sender, eventArgs) => {
            var webViewWithKeyUp = mViewComp.browser.WebView as IWithKeyDownAndUp;
            if (webViewWithKeyUp != null)
            {
                webViewWithKeyUp.KeyUp(eventArgs.Value, eventArgs.Modifiers);
            }
        };
    }

其中mViewComp.browser就是CanvasWebViewPrefab网页脚本,然后在打开该网页的时候调用下_setUpHardwareKeyboard()方法即可输入文字。


解决输入框无法输入中文需调用方法:

Input.imeCompositionMode = IMECompositionMode.On;

在脚本CanvasWebViewPrefab.cs中330行初始化时添加即可。

粘贴图片


 附件

附件类型

PNGPNG

历史版本-目录  [回到顶端]
    知识分享平台 -V 4.8.7 -wcp