0
1

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のIconDataについて

Last updated at Posted at 2025-10-14

IconDataについて

  • Icon(Icons.add)のような書き方をすることでアイコンの画像を設定することが出来る。
// FloadingButtonを押すとインクリメントされる例
Scaffold(
        floatingActionButton: FloatingActionButton(
        onPressed: _incrementSomething, 
        child: const Icon(Icons.add)
    ),
)
  • このIconsの型がIconIconsではなく、どうやらIconDataなるものを継承しているようで、興味が出たので調べてみた

IconDataのinitializerを確認する

IconData.new(
    int codePoint, 
    {
        String? fontFamily, 
        String? fontPackage, 
        bool matchTextDirection = false, 
        List<String>? fontFamilyFallback
    }
)
  • matchTextDirectionの初期値がfalseで、そこからさらに追加でパラメータを設定できそう。
  • fontFamily, fontPackage, matchTextDirectionfontFamilyFallbackは全てfinal
    なので、実行時に値がセットされて固定される模様。

以下公式のサイトで各パラメータを確認してみる。

fontFamily → String?

The font family from which the glyph for the codePoint will be selected.

  • アイコンの文字コードがどのフォントファイルから描画されるかを指定することが出来る。

fontPackage → String?

The name of the package from which the font family is included.

  • FontFamilyがパッケージとしてincludeされている際に、そのPackageの名前を指定することが出来る。

matchTextDirection → bool

Whether this icon should be automatically mirrored in right-to-left environments.

  • テキストの方向によって自動的に左右反転するかを設定できる。
  • 使用用途があまりピンとこないが、アラビア語や「→」を「←」にしたいときなどに役立つのだろうか。

fontFamilyFallback → List?

The ordered list of font families to fall back on when a glyph cannot be found in a higher priority font family.

  • 指定したFontFamilyが見つからない際に、代替フォントをList形式で指定できる。優先度も設定することが可能で、高い優先順位のフォントから順番に適用される。

Icon型にラップする

Icon(Icons.add)
  • こうしてIconData型の中にある.addアイコンの情報を呼び出して、最終的にそれをIcon型に変換する。

フォント一覧を確認できる

  • IconDataを継承しているIconsの話になるが、Googleが公開しているサイト(https://fonts.google.com/icons )を参照すれば、Iconsとして使えるアイコンの一覧を確認することが出来る。(AppleのSF SymbolsをGoogle FontsのUIでやっているようなイメージである)
  • 検索バーで欲しいアイコンの単語を入力することで、検索フィルターに合致するフォント一覧を返してくれる。
0
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?