LoginSignup
5
1

More than 3 years have passed since last update.

Flutterで文字サイズを固定にしたい

Posted at

状況

iOSでもAndroidでも、端末本体の設定で文字サイズを大きくしたり小さくしたりすることが出来ますが、端末の文字サイズ設定を変更していると、レイアウトが崩れてしまうことが多々あります。
本来文字サイズに合わせて表示させるべきなんですが、どうしてもレイアウト構成上難しい箇所があり、固定にしたい場所が生じてしまいました。
Androidで言う、文字サイズをdp指定しちゃうみたいなことが出来ないかなと思って調べた結果です。

環境など

ツールなど バージョンなど
MacBook Air Early2015 macOS Mojave 10.14.6
Android Studio 3.6.1
Java 1.8.0_131
Flutter 1.12.13+hotfix.9
Dart 2.7.2
Xcode 11.3.1

解決策

TextウィジェットのパラメータtextScaleFactor1.0を渡せば固定されます。
このパラメータを指定していないときは、MediaQuery.textScaleFactorOfが使用されます。端末の文字サイズを変更しているとこの値が変わるんですね。よって端末の文字サイズ設定に応じてフォントサイズが変わっているわけです。
そこに1.0を渡してしまえば、フォントサイズが固定されることになります。

 Text(
    'なんらかのタイトル',
    style: TextStyle(fontSize: 14),
    textScaleFactor: 1.0,
),

flutter_screenutilというパッケージもあるようですが、上記の方法の方が簡単かと思います。

参考サイトなど

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1