次のような展開ウィジェットの列があります。
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
。
元の回答
でScaffold
、resizeToAvoidBottomPadding
プロパティを に設定しますfalse
。