Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.4

icons_helper

Isso fornece acesso à biblioteca completa de ícones e FontAwesomeIcons em tempo de execução quando os ícones específicos necessários não são conhecidos no momento da compilação.

Downloads em 30 dias
88
Curtidas
27
Pontos Pub
40

Instalar pacote

flutter pub add icons_helper

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

IconsHelper é um pacote Flutter/Dart que permite acesso em tempo de execução a uma biblioteca abrangente de ícones, incluindo ícones padrão e FontAwesomeIcons. É especialmente útil quando os ícones necessários são determinados dinamicamente durante a execução do aplicativo, em vez de serem conhecidos no momento da compilação. Essa flexibilidade permite que os desenvolvedores criem interfaces mais adaptáveis, como seletoras de ícones temáticos ou renderização dinâmica de ícones com base na entrada do usuário. O pacote simplifica a gestão de ícones fornecendo uma interface unificada para acessar uma ampla variedade de conjuntos de ícones sem precisar importar cada um individualmente.

Casos de uso

  • Seleção dinâmica de ícones
  • Renderização de ícone baseada em tema
  • Busca de ícone em tempo de execução
  • Componentes personalizados de seleção de ícone
  • Gerenciamento de ícones extensível

Principais recursos

  • Acesso completo aos ícones e FontAwesomeIcons
  • Resolução do ícone em tempo de execução
  • Sem necessidade de importações estáticas
  • API simples para uso dinâmico
  • Suporta várias bibliotecas de ícones

Indicado para

  • Aplicativos com interfaces dinâmicas
  • interfaces de seleção de ícones
  • Recursos de personalização de tema
  • Desenvolvedores que precisam de manipulação flexível de ícones
  • Projetos evitando declarações de ícones em tempo de compilação

Considerações

  • Requer internet para FontAwesomeIcons se não estiverem embutidos
  • Pequeno sobrecarga proveniente da resolução dinâmica
  • Não ideal para renderização de ícones críticos em desempenho
  • Limitado a conjuntos de ícones pré-definidos
  • Pode aumentar levemente o tamanho do pacote

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.