Программная клавиатура Flutter WebView не скрывает размытие ввода - PullRequest
0 голосов
/ 09 апреля 2020

Кажется, существует давняя проблема с плагином Flutter Webview на Android - если это обсуждение является чем-то go. Я тоже столкнулся с этим - в диалоговом окне Webview у меня есть поле ввода, которое при фокусировке вызывает появление программной клавиатуры Android. Однако впоследствии он не исчезает sh сам по себе, когда это поле ввода теряет фокус - или даже когда оно удаляется из дерева DOM. Я был бы очень признателен всем, кто мог бы предложить решение. Я испробовал различные идеи, упомянутые в этом обсуждении, включая выпуск SystemChannels.textInput.invokeMethod('TextInput.hide'); из кода Дарт позади.

Единственный другой способ, которым я могу придумать, - это написать небольшой «плагин» Flutter Android, который пытается скрыть программную клавиатуру напрямую через Android API, который, я думаю, должен работать. Если кто-то может указать мне код Kotlin, необходимый для этого, я был бы очень признателен.


Вот как я создаю пользовательский интерфейс приложения - все дерево виджетов

Route makeWebView(RouteSettings settings)
{
 return new PageRouteBuilder
 (
  pageBuilder:(BuildContext context,Animation<double> 
  animation,Animation<double> secondaryAnimation)
  {
   return SafeArea
   (
    child:Listener
    (
     child: SizedBox.expand
     (
      child:WebView
      (
       debuggingEnabled:true, 
       initialUrl:'',
       javascriptMode:JavascriptMode.unrestricted,
       onWebViewCreated:registerController,
       javascriptChannels:Set.from
      ([JavascriptChannel(name:'JSBridge',
                              onMessageReceived:handleMessage)]),
       ),
      ),
     )
    );
  });
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...