Buscar categorias, pacotes e repositórios

Capa de styled_widget
Detalhes do pacotev0.4.1

styled_widget

Simplificando a estrutura da árvore de widgets definindo widgets usando métodos. Inspirado no CSS e no SwiftUI

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
24,2 mil
Curtidas
925
Pontos Pub
130

Instalar pacote

flutter pub add styled_widget

Visão geral do pacote

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

Styled Widget é um pacote Flutter que simplifica a construção da árvore de widgets permitindo que os desenvolvedores definam widgets usando cadeias de métodos, inspirado no CSS e no SwiftUI. Ele promove código mais limpo e legível ao permitir que estilos e propriedades de layout sejam aplicados de forma fluida. O pacote reduz o aninhamento e melhora a manutenibilidade, especialmente em interfaces complexas. Com suporte em todas as principais plataformas, é ideal para equipes que buscam uma abordagem declarativa e expressiva para criar interfaces no Flutter.

Casos de uso

  • Construindo interfaces de usuário limpas e legíveis
  • Reduzindo estruturas aninhadas de widgets
  • Criando componentes de interface reutilizáveis
  • Simplificando o estilo com cadeias de métodos
  • Prototipagem rápida de interfaces

Principais recursos

  • Encadeamento de métodos para construção de widget
  • Sintaxe de estilo semelhante ao CSS
  • Design de API inspirado no SwiftUI
  • Compatibilidade multiplataforma
  • Mínimo boilerplate
  • Suporte para layouts responsivos

Indicado para

  • Desenvolvedores que querem código de interface conciso
  • Equipes priorizando a legibilidade do código
  • Projetos com hierarquias de widgets complexas
  • Desenvolvimento Flutter voltado para a interface
  • Prototipagem rápida de UI

Considerações

  • Curva de aprendizado para novos usuários
  • Sobrecarga de desempenho potencial com cadeias profundas
  • Personalização limitada em comparação com widgets brutos
  • Não adequado para interfaces altamente dinâmicas ou com muitos estados sem padrões adicionais
  • Pode entrar em conflito com outras bibliotecas de estilos

README original

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

Simplifying your widget tree structure by defining widgets using methods.

License: MIT

Buy Me A Coffee


Thanks to the introduction of extension methods in Dart 2.7.0, styled_widget makes it possible to build widget tree`s more readable and efficient.

styled_widget is build as a tool to enhance your Flutter development experience and to seamlessly integrate with your codebase.

Showcase
Design, Code Design, Code Design, Code
Basic example

styled_widget has a bottom up approach to building widget`s. This means you start with the inner most element and layer widget`s on top. The following example is structured as follows: Icon -> blue circle -> light blue circle -> card -> background

Icon(OMIcons.home, color: Colors.white)
  .padding(all: 10)
  .decorated(color: Color(0xff7AC1E7), shape: BoxShape.circle)
  .padding(all: 15)
  .decorated(color: Color(0xffE8F2F7), shape: BoxShape.circle)
  .padding(all: 20)
  .card(
    elevation: 10,
    shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.circular(20),
    ),
  )
  .alignment(Alignment.center)
  .backgroundColor(Color(0xffEBECF1));
Raw Flutter (click to show)
DecoratedBox(
  decoration: BoxDecoration(
    color: Color(0xffEBECF1),
  ),
  child: Align(
    alignment: Alignment.center,
    child: Card(
      elevation: 10,
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(20),
      ),
      child: Padding(
        padding: EdgeInsets.all(20),
        child: DecoratedBox(
          decoration: BoxDecoration(
            color: Color(0xffE8F2F7),
            shape: BoxShape.circle,
          ),
          child: Padding(
            padding: EdgeInsets.all(15),
            child: DecoratedBox(
              decoration: BoxDecoration(
                color: Color(0xff7AC1E7),
                shape: BoxShape.circle,
              ),
              child: Padding(
                padding: EdgeInsets.all(10),
                child: Icon(
                  OMIcons.home,
                  color: Colors.white,
                ),
              ),
            ),
          ),
        ),
      ),
    ),
  ),
);
Docs

See the documentation at styled_widget/wiki for more information about using styled_widget!

Quicklinks

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote