パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.0.4

icons_helper

特定のアイコンがコンパイル時に不明な場合、実行時に完全なアイコンライブラリおよびFontAwesomeIconsにアクセスできるようになります。

30日間ダウンロード
88
いいね数
27
Pub ポイント
40

パッケージをインストール

flutter pub add icons_helper

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

IconsHelperは、Flutter/Dartパッケージで、標準アイコンとFontAwesomeIconsを含む包括的なアイコンライブラリへの実行時アクセスを可能にします。必要なアイコンがアプリの実行中に動的に決定される場合(コンパイル時に既知ではない場合)特に有用です。この柔軟性により、テーマ対応のアイコンピッカー、ユーザー入力に基づく動的アイコンレンダリングなど、より適応性の高いUIを構築できます。このパッケージは、個々のアイコンセットを個別にインポートする必要なく、幅広いアイコンセットに一元的にアクセスできるインターフェースを提供することで、アイコン管理を簡素化します。

用途

  • ダイナミックアイコン選択
  • テーマベースのアイコンレンダリング
  • 実行時アイコン検索
  • カスタムアイコンピッカー コンポーネント
  • 拡張可能なアイコン管理

主な機能

  • アイコンおよびFontAwesomeIconsへの完全アクセス
  • 実行時アイコン解像度
  • 静的インポートの必要はありません
  • 動的使用のためのシンプルなAPI
  • 複数のアイコンライブラリをサポートしています

適している対象

  • 動的UIを持つアプリ
  • アイコンピッカーインターフェース
  • テーマカスタマイズ機能
  • 柔軟なアイコン処理が必要な開発者
  • コンパイル時アイコン宣言を回避するプロジェクト

注意事項

  • バンドルされていない場合、FontAwesomeIconsにはインターネット接続が必要です
  • 動的解決によるわずかなオーバーヘッド
  • パフォーマンスが重要なアイコンレンダリングには適していない
  • 事前に定義されたアイコンセットに限定
  • バンドルサイズがわずかに増加する可能性があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

icons_helper

This package's use case is to provide access to the full library of Icons and FontAwesomeIcons (currently FontAwesome 9 for the most part, although a few new icons need some addition/changes) at runtime when the specific icons needed are not known at compile time. As such, all Tree Shaking is totally worked around/defeated for Icons and FontAwesomeIcons, so know that before you use the library. But since in our application, for example, the icon names come in from our backend and we don't want to have to re-release each time it specifies a new icon, we are GOOD with that. This is intentional so we can specify a new icon to be displayed just by sending that new text string in our push notification/record. This is a convenience package that provides bracket notiation access to Material Design Icons and Font Awesome Flutter icons (via @brianegan's font_awesome_flutter package). For now, I have just statically generated the Map to map string names to member names. This means any new icons won't be automatically discovered. There's a way to use codegen and mirror in a non-flutter dart app to generate this and then output/maintain them, but just using a google sheet and cut and pasting was faster for something I personally don't need to update often. That sheet is here at https://docs.google.com/spreadsheets/d/1IpWJytpkrJI9_9hwPKY5oXJLRLGjQuG3pUP7eUIqHn4/edit?usp=sharing. I started writing such a utility but gave up because it wasn't worth the time.

Thanks & Contributions

Many thanks to Dennis Bappert (@dennisbappert) and S McDowall (@sjmcdowall) for updates to this and sourcing back their changes publicly and in the true spirit of open source. This includes their fixes.

Using

The methods you may want to consider using include:

getIconUsingPrefix(name: "PREFIX.ICON_NAME") - if PREFIX is "fa" or "fontawesome" the icon_name after the "." will be resolved against the font awesome icons first, if that fails, it'll go to Material Design Icons. If there is no PREFIX.ICON_NAME, it'll fail over to just trying to resolve Material First, then Font Awesome.

getIconGuessFavorFA(name:"ICON_NAME") - if there is an icon named ICON_NAME in FA, return that, otherwise, try Material

getIconGuessFavorMaterial(name:"ICON_NAME") - if there is an icon named ICON_NAME in Material Design, return that, otherwise, try FA

All methods will return null if icon doesn't exist.

Yes, this is a quick and dirty library that could use tons of improvement and does a lot of things poorly or doesn't do things. If you want to change/fix/help, submit a PR and I'll def accept all help that I think improves this lib.

I basically wrote this as a hack/work around to https://github.com/flutter/flutter/issues/16189.

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。