キーボードが表示されると、Flutter ウィジェットのサイズが変更されます。これを防ぐにはどうすればいいでしょうか? 質問する

キーボードが表示されると、Flutter ウィジェットのサイズが変更されます。これを防ぐにはどうすればいいでしょうか? 質問する

次のような展開ウィジェットの列があります。

 return new Container(
      child: new Column(
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: <Widget>[
          new Expanded(
            flex: 1,
            child: convertFrom,
          ),
          new Expanded(
            flex: 1,
            child: convertTo,
          ),
          new Expanded(
            flex: 1,
            child: description,
          ),
        ],
      ),
    );

次のようになります:

ここに画像の説明を入力してください

convertFromには TextField が含まれています。このテキスト フィールドをタップすると、Android キーボードが画面に表示されます。これにより画面サイズが変更され、ウィジェットのサイズが次のように変更されます。

ここに画像の説明を入力してください

列のサイズが変更されないように、キーボードを画面に「オーバーレイ」する方法はありますか?Expandedウィジェットを使用せず、各ウィジェットの高さをハードコードすると、ウィジェットのサイズは変更されませんが、キーボードが表示されると黒と黄色の縞模様のエラーが表示されます (十分なスペースがないため)。これは、すべての画面サイズに柔軟に対応できるわけではありません。

これが Android 固有のものか Flutter 固有のものかはわかりません。

ベストアンサー1

更新された回答

resizeToAvoidBottomPaddingは非推奨になりました。

更新された解決策は、resizeToAvoidBottomInsetプロパティを に設定することですfalse


元の回答

ScaffoldresizeToAvoidBottomPaddingプロパティを に設定しますfalse

おすすめ記事