Buscar pacotes, repositórios e categorias de apps

Capa de direct_select_flutter
Detalhes do pacotev1.2.0

direct_select_flutter

Implementação do widget Direct Select inspirada em https://dribbble.com/shots/3876250-DirectSelect-Dropdown-ux

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
440
Curtidas
321
Pontos Pub
160

Instalar pacote

flutter pub add direct_select_flutter

Visão geral do pacote

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

Um pacote Flutter que implementa um widget de seleção direta inspirado em um design do Dribbble, oferecendo uma experiência de menu suspenso intuitiva e visualmente atraente. Permite que os usuários interajam diretamente com as opções por meio de uma interface suave e baseada em gestos, melhorando a experiência do usuário em plataformas móveis e web. O widget permite personalização e se integra perfeitamente a formulários e fluxos de entrada de dados. Projetado de acordo com padrões modernos de UI/UX, destaca clareza e responsividade em todas as plataformas compatíveis.

Casos de uso

  • Entradas de formulário com menus suspenso
  • Experiência do usuário aprimorada em aplicativos móveis
  • Interfaces de seleção personalizáveis
  • Entrada de dados com feedback visual
  • Formulários interativos para web e desktop

Principais recursos

  • Seleção baseada em gestos
  • Animações suaves
  • Compatibilidade multiplataforma
  • Estilo personalizável
  • design responsivo
  • Integração fácil com formulários existentes

Indicado para

  • Desenvolvedores procurando menus suspensores modernos
  • designers de aplicativos focados em UX
  • Desenvolvimento de aplicativos com foco em dispositivos móveis
  • Aplicações Web e desktop do Flutter
  • Projetos que exigem componentes de entrada intuitivos

Considerações

  • Pode exigir estilos adicionais para temas complexos
  • Limitado ao modo de seleção única
  • Impacto no desempenho com conjuntos de dados muito grandes
  • Não ideal para seleções aninhadas ou hierárquicas
  • Requer manipulação cuidadosa dos recursos de acessibilidade

README original

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

direct-select-flutter

DirectSelect is a selection widget with an ethereal, full-screen modal popup displaying the available choices when the widget is interact with. Inspired by dribble shot.

Made in lanars.com.

pub package Awesome Flutter

iOS

Android

Usage

Create DirectSelectList and fill it with items using itemBuilder

    final dsl = DirectSelectList<String>(
        values: _cities,
        defaultItemIndex: 3,
        itemBuilder: (String value) => getDropDownMenuItem(value),
        focusedItemDecoration: _getDslDecoration(),
        onItemSelectedListener: (item, index, context) {
          Scaffold.of(context).showSnackBar(SnackBar(content: Text(item)));
        });

Create items like this

  DirectSelectItem<String> getDropDownMenuItem(String value) {
    return DirectSelectItem<String>(
        itemHeight: 56,
        value: value,
        itemBuilder: (context, value) {
          return Text(value);
        });
  }

Create decorations for focused items

  _getDslDecoration() {
   return BoxDecoration(
     border: BorderDirectional(
       bottom: BorderSide(width: 1, color: Colors.black12),
       top: BorderSide(width: 1, color: Colors.black12),
     ),
   );
 }

Create DirectSelectContainer and fill it with your data

Scaffold(
      appBar: appBar,
      body: DirectSelectContainer(
        child: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            mainAxisSize: MainAxisSize.min,
            verticalDirection: VerticalDirection.down,
            children: <Widget>[
              SizedBox(height: 150.0),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: Column(
                  children: <Widget>[
                    Container(
                      alignment: AlignmentDirectional.centerStart,
                      margin: EdgeInsets.only(left: 4),
                      child: Text("City"),
                    ),
                    Padding(
                      padding: const EdgeInsets.fromLTRB(0, 8, 0, 0),
                      child: Card(
                        child: Row(
                          mainAxisSize: MainAxisSize.max,
                          children: <Widget>[
                            Expanded(
                                child: Padding(
                                    child: DirectSelectList<String>(
                                                     values: _cities,
                                                     defaultItemIndex: 3,
                                                     itemBuilder: (String value) => getDropDownMenuItem(value),
                                                     focusedItemDecoration: _getDslDecoration(),
                                                     onItemSelectedListener: (item, index, context) {
                                                       Scaffold.of(context).showSnackBar(SnackBar(content: Text(item)));
                                                     }),
                                    padding: EdgeInsets.only(left: 12))),
                            Padding(
                              padding: EdgeInsets.only(right: 8),
                              child: Icon(
                                Icons.unfold_more,
                                color: Colors.black38,
                              ),
                            )
                          ],
                        ),
                         ),
                    ),
                  ],
                ),
              ),
            ],
          ),
        ),
      ),
    );

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.