どうも、ちょげ(@chogetarou)です。
ボタンの高さをパーセントで指定する方法を紹介します。
方法

ボタンの高さをパーセントで指定するには、「MediaQuery」を使います。
まず、buildメソッド内で「MediaQuery」の変数を用意します。
var _size = MediaQuery.of(context).size;
「MediaQuery.of(context).size」で、画面のサイズを変数に格納できます。
そして、ボタンの高さは、用意した変数の「height」プロパティに、「〇〇%」の数値を100で割った値を掛けて指定します。
例えば、「70%」ならば「0.7」、「55%」ならば「0.55」のようになります。
以下は、実際の使用例です。
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(
onPressed: () {},
child: Text('Button'),
style: ElevatedButton.styleFrom(
fixedSize: Size(
250,
_size.height * 0.5, //50%
),
),
),
SizedBox(
height: 10,
),
ElevatedButton(
onPressed: () {},
child: Text('Button'),
style: ElevatedButton.styleFrom(
fixedSize: Size(
250,
_size.height * 0.2,//20%
),
),
),
SizedBox(
height: 10,
),
ElevatedButton(
onPressed: () {},
child: Text('Button'),
style: ElevatedButton.styleFrom(
fixedSize: Size(
250,
_size.height * 0.1, //10%
),
),
),
],
),

まとめ
ボタンの高さをパーセントで指定するには、「MediaQuery」を使います。
「MediaQuery.of(context).size」で画面のサイズを取得し、「height」プロパティで画面の高さを取得します。
そして、「height」プロパティに、パーセンテージを100で割った値を掛けます。
コメント