не может отображаться клавиатура flutter webview

#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