Flutter webview 键盘无法弹出。

14

我尝试将Webview嵌入到Flutter应用程序中。在添加示例代码后,页面正常加载,但当我点击页面上的输入框时,没有弹出软键盘。

5个回答

8

4

我知道现在有点晚了,但是将 webview 版本更改为 v3.0.0 对我来说实际上解决了这个问题。


3

我尝试了很多方法,但最终通过脚手架解决了问题,现在我的键盘可以打开了。

将您的WebView放入Scaffold小部件中,并在Scaffold小部件中应用以下属性。

resizeToAvoidBottomInset: false,

3

将此添加到initState()中,问题便得到解决。

我只在Android设备上遇到了这个问题。

void initState() {
    if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
    super.initState();
  }

这对我在Android 13上解决了问题,谢谢! - ZeroCode

0

目前可以使用这个。希望Flutter团队尽快修复。

您需要在Android Studio中打开您的安卓项目,以查看所有依赖项并在webview_flutter中使用。

要修复最新版本的代码,除了导入外

import android.app.Activity;
import io.flutter.app.FlutterApplication;

更改:

webView = new InputAwareWebView(context, containerView);

至:

Context activityContext = context;
Context appContext = context.getApplicationContext();
if (appContext instanceof FlutterApplication) {
  Activity currentActivity = ((FlutterApplication) appContext).getCurrentActivity();
  if (currentActivity != null) {
    activityContext = currentActivity;
  }
}
webView = new InputAwareWebView(activityContext, containerView);

原始答案在这里:@ryanhz https://github.com/flutter/flutter/issues/25767#issuecomment-588603862


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接