我试着整合了webview,在扑翼app中,添加了示例中的代码后,页面加载正常,但是当我点击页面中的输入框时,没有软键盘弹出
vawmfj5a1#
这个问题只发生在Android上,这是一个已知的问题在这里. https://github.com/flutter/flutter/issues/19718 .如果你的应用不需要webview与其他Flutter小部件在同一屏幕上,我推荐这个来自Flutter社区的webview库。这里没有键盘问题。https://pub.dartlang.org/packages/flutter_webview_plugin
hi3rlvi22#
我已经尝试了多种方法,但最后我已经通过脚手架修复了它,现在我的键盘正在打开。只需将WebView Package 在Scaffold小部件中,并在Scaffold中应用以下属性。
resizeToAvoidBottomInset: false,
5rgfhyps3#
我知道现在已经很晚了,但是把webview版本改为v3.0.0实际上解决了我的问题。
voj3qocg4#
这个暂时可以用,希望扑翼队快点修好。您需要在Android Studio中打开Android项目以查看所有依赖项,并在webview_flutter修复最新版本的代码,除了导入
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);
原始答案在这里:@ryanhzhttps://github.com/flutter/flutter/issues/25767#issuecomment-588603862
pkbketx95#
把它添加到initState()中就解决了这个问题。我只在Android设备上遇到过这个问题
void initState() { if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView(); super.initState(); }
5条答案
按热度按时间vawmfj5a1#
这个问题只发生在Android上,这是一个已知的问题在这里. https://github.com/flutter/flutter/issues/19718 .
如果你的应用不需要webview与其他Flutter小部件在同一屏幕上,我推荐这个来自Flutter社区的webview库。这里没有键盘问题。https://pub.dartlang.org/packages/flutter_webview_plugin
hi3rlvi22#
我已经尝试了多种方法,但最后我已经通过脚手架修复了它,现在我的键盘正在打开。
只需将WebView Package 在Scaffold小部件中,并在Scaffold中应用以下属性。
5rgfhyps3#
我知道现在已经很晚了,但是把webview版本改为v3.0.0实际上解决了我的问题。
voj3qocg4#
这个暂时可以用,希望扑翼队快点修好。
您需要在Android Studio中打开Android项目以查看所有依赖项,并在
webview_flutter
修复最新版本的代码,除了导入
变更:
收件人:
原始答案在这里:@ryanhzhttps://github.com/flutter/flutter/issues/25767#issuecomment-588603862
pkbketx95#
把它添加到initState()中就解决了这个问题。
我只在Android设备上遇到过这个问题