【发布时间】:2019-09-12 07:34:57
【问题描述】:
我尝试将 webview 集成到 Flutter 应用程序中。添加示例中的代码后,页面加载正常,但是当我点击页面中的输入框时,没有弹出软键盘,
【问题讨论】:
标签: flutter flutter-dependencies
我尝试将 webview 集成到 Flutter 应用程序中。添加示例中的代码后,页面加载正常,但是当我点击页面中的输入框时,没有弹出软键盘,
【问题讨论】:
标签: flutter flutter-dependencies
我知道已经晚了,但是将 webview 版本更改为 v3.0.0 实际上为我解决了这个问题。
【讨论】:
我尝试了多种方法,但最后我通过脚手架修复了它,现在我的键盘正在打开。
只需将您的 WebView 包装在 Scaffold 小部件中并在脚手架内应用以下属性。
resizeToAvoidBottomInset: false,
【讨论】:
这个暂时可以用。希望 Flutter 团队尽快修复它。
您需要在 Android Studio 中打开您的 android 项目以查看所有依赖项以及在 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
【讨论】:
这个问题只发生在 Android 上,这是一个已知问题。 https://github.com/flutter/flutter/issues/19718.
如果您的应用不需要 webview 与其他 Flutter 小部件在同一屏幕上,我推荐来自 Flutter 社区的这个 webview 库。这里没有键盘问题。 https://pub.dartlang.org/packages/flutter_webview_plugin
【讨论】: