キーボード入力画面でフォームがスクロールしないを解決する

問題

スマホ画面を横にした時、モーダル内のフォームの入力キーボードが使いにくい

解決策

MediaQuery.of(context).viewInsets.bottomを使う

やり方

final keyboardSpace = MediaQuery.of(context).viewInsets.bottom;

変数に格納

  Padding(
      padding:  EdgeInsets.fromLTRB(16, 48, 16, keyboardSpace + 16),

こうするとエラーが発生する 下にスクロールが出来なくなります。

これを解消するのに

SingleChildScrollView Widjet で囲む。

 SingleChildScrollView(
      child: Padding(
        padding:  EdgeInsets.fromLTRB(16, 48, 16, keyboardSpace + 16),

これでスクロール出来るようになります。

ここまで来ると今度はモーダルの高さが全体を占めなくなります。 このままでも良いのですが気持ちわるいと思う時は

SizedBoxで囲みます

SizedBox(
      height: double.infinity,
      child: SingleChildScrollView(
        child: Padding(
          padding:  EdgeInsets.fromLTRB(16, 48, 16, keyboardSpace + 16),

これでモーダルが全体を占めます。