Open1

[Flutter] モバイル/タブレットに応じていい感じにテキストのサイズを変更したい

PhanpyPhanpy

MediaQueryを使って画面サイズに応じてテキストのフォントサイズを動的に変更することはできるが、
そうすると「iPhoneではいい感じのサイズになるけど、iPadではデカすぎる」(逆も然り)みたいなことが発生してしまう。

MediaQuery(
  data: MediaQuery.of(context).copyWith(
    textScaleFactor: MediaQuery.of(context).size.width / 400,
  ),
  child: Text('My text'),
)

めんどくさいけど、画面サイズに応じて段階的にフォントサイズを設定するしかないのかな?

double fontSize;
Size screenSize = MediaQuery.of(context).size;
if (screenSize.width >= 1024 && screenSize.height >= 768) {
  fontSize = 20; // iPad devices have a default font size of 20
} else {
  fontSize = 14; // Other devices have a default font size of 14
}