Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.0.4

icons_helper

Dies bietet Zugriff auf die vollständige Bibliothek von Icons und FontAwesomeIcons zur Laufzeit, wenn die spezifischen benötigten Symbole nicht zur Kompilierzeit bekannt sind.

30-Tage-Downloads
88
Likes
27
Pub-Punkte
40

Paket installieren

flutter pub add icons_helper

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

IconsHelper ist ein Flutter/Dart-Paket, das den Laufzeitzugriff auf eine umfassende Bibliothek von Symbolen ermöglicht, einschließlich standardmäßiger Symbole und FontAwesomeIcons. Es ist besonders nützlich, wenn die erforderlichen Symbole dynamisch während der App-Ausführung bestimmt werden, anstatt bereits zur Kompilierzeit bekannt zu sein. Diese Flexibilität ermöglicht es Entwicklern, anpassungsfähigere Benutzeroberflächen zu erstellen, wie beispielsweise thematisierbare Symbolauswahl-Tools oder dynamische Symbolanzeige basierend auf Benutzereingaben. Das Paket vereinfacht die Symbolverwaltung durch Bereitstellung einer einheitlichen Schnittstelle zum Zugriff auf eine große Auswahl an Symbol-Sets, ohne dass jedes einzeln importiert werden muss.

Anwendungsfälle

  • Dynamische Symbolauswahl
  • Themenbasierte Icon-Rendierung
  • Laufzeit-Ikon-Suche
  • Benutzerdefinierte Icon-Auswahlkomponenten
  • Erweiterbare Icon-Verwaltung

Hauptmerkmale

  • Vollzugriff auf Symbole und FontAwesomeIcons
  • Laufzeit-Ikonauflösung
  • Keine statischen Importe erforderlich
  • Einfache API für dynamische Nutzung
  • Unterstützt mehrere Icon-Bibliotheken

Geeignet für

  • Apps mit dynamischen Benutzeroberflächen
  • Icon Picker-Oberflächen
  • Themenanpassungsfunktionen
  • Entwickler, die eine flexible Icon-Handhabung benötigen
  • Projekte, die die Deklaration von Symbolen zur Kompilierzeit vermeiden

Hinweise

  • Benötigt Internet für FontAwesomeIcons, wenn nicht eingebunden
  • Geringer Overhead durch dynamische Auflösung
  • Nicht ideal für leistungskritische Icon-Rendern
  • Beschränkt auf vordefinierte Icon-Sets
  • Kann die Bundle-Größe leicht erhöhen

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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.

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.