0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Flutter] 文字サイズを大きくすると周囲に空白が発生する

Last updated at Posted at 2024-08-19

今回発生した問題

今回発生した問題はタイトル通り、Flutterでアプリを開発時にfontSizeを大きくしていくと周囲に空白が発生するというもの


iPhone 15 - 2024-08-19 at 11.36.40.png
font: Kiwi-Maru, fontsize: 50で発生。PaddingやGapを設定していないにも関わらず、文字の上に空白ができている


コードは以下の通り

sample.dart
Container(
    color: Colors.white,
    child: Text(
      "2",
      style: TextStyle(
        fontSize: 50
      ),
    ),
),


これって結局何?

おそらくこれにはフォント自体に含まれている「バウンディングボックス」というものが関係していそう。

バウンディングボックスをざっくりいうと、文字のサイズや位置を決定するための見えないスペースで、実際に見ることができる文字サイズとは異なる。
文字によって表示に使う幅や高さが微妙に異なるので、特定の文字だけ切り取られたりすることなく表示するのに必要なんだそう。

デザインに精通していないので全くの初耳でした。

対処法

先ほどのコードに一行足すだけ。

sample.dart
Container(
    color: Colors.white,
    child: Text(
      "2",
      style: TextStyle(
        height: 1.0, //追加した行
        fontSize: 50
      ),
    ),
),
iPhone 15 - 2024-08-19 at 12.08.31.png

これで周りのウィジェットとの間に余計なスペースを空けることなく配置できました。
参考になれば嬉しいです。

※この方法は文字によってoverflowを引き起こす可能性があります

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?