#flutter #flutter-dependencies
#flutter #flutter-зависимости
Вопрос:
Я попытался интегрировать webview в приложение flutter. После добавления кода в примере страница загружается нормально, но когда я нажимаю на поле ввода на странице, программная клавиатура не появляется,
Ответ №1:
Эта проблема возникает только на Android, и здесь это известная проблема. https://github.com/flutter/flutter/issues/19718 .
Если вашему приложению не нужно, чтобы webview отображался на одном экране с другими виджетами Flutter, я рекомендую эту библиотеку webview от сообщества Flutter. Здесь нет проблемы с клавиатурой. https://pub.dartlang.org/packages/flutter_webview_plugin
Ответ №2:
Я пробовал несколько вещей, но, наконец, я исправил это с помощью scaffold, теперь моя клавиатура открывается.
просто оберните свой WebView внутри виджета Scaffold и примените следующее свойство внутри scaffold.
resizeToAvoidBottomInset: false,
Ответ №3:
Я знаю, что уже поздно, но изменение версии webview на v3.0.0 фактически решило проблему для меня.
Ответ №4:
Это можно использовать на данный момент. Надеюсь, команда flutter исправит это в ближайшее время.
Вам необходимо открыть свой проект Android в 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