1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Flutter Webviewでソフトウェアキーボードで input[type=text] が隠れる不具合を解消(iOS)

Posted at

概要

Flutterで側アプリ(WebView)内のテキスト入力にフォーカス時に現れるソフトウェアキーボードでテキスト入力が隠れる不具合を解消する方法です。
WebViewはwebview_flutter: ^3.0.1
※今のところiOSのみ確認済みです。

Before

before.gif

After

after.gif

解決方法

WebView をラップしている Scaffold の resizeToAvoidBottomInset を false にします

webview.dart
@override
  Widget build(BuildContext context)  {

    return Scaffold(
      resizeToAvoidBottomInset: false,   // ← これを追加
      body:  
        WebView(
        //省略...
        )
    )
}

原因

body のスクロールだとこの不具合は起きないようですが
position: absolute や fixed の被ってくるもの高さ計算が入るものが影響していそうです。

まとめ

webview_flutterのバージョンアップしてみたり、cssをなんども調整し何日も溶かしました凹
Flutterのソースコード1行で済んだので助かりました。。。:relaxed:

キャプチャ動画だとわかりにくいですがソフトウェアキーボードがもどる時に戻り終えた箇所がしばらく白くなる現象も直っています。

ちなみに画面はReactです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?