次のような拡張ウィジェットの列があります。
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固有かはわかりません。
Scaffold
で、resizeToAvoidBottomInset
プロパティをfalse
に設定します。
プロパティ "resizeToAvoidBottomPadding"は非推奨になりました。..Scaffold
で、resizeToAvoidBottomPadding
プロパティをfalse
に設定します。
非推奨の resizeToAvoidBottomInset
の代わりに false
をresizeToAvoidBottomPadding
に設定します。
return Scaffold(
resizeToAvoidBottomInset : false,
body: YourWidgets(),
);