Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.3.0

custom_navigator

Um pacote Flutter que facilita a criação do seu próprio navegador em qualquer lugar da árvore de widgets.

Downloads em 30 dias
107
Curtidas
51
Pontos Pub
40

Instalar pacote

flutter pub add custom_navigator

Visão geral do pacote

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

Um pacote Flutter que simplifica a criação de navegadores personalizados em qualquer parte da árvore de widgets. Permite aos desenvolvedores definir e gerenciar a lógica de navegação independentemente do navegador principal do aplicativo, possibilitando componentes de navegação modulares e reutilizáveis. Ideal para interfaces complexas com fluxos de navegação aninhados ou dinâmicos, promove uma separação clara de responsabilidades e melhora a testabilidade. O pacote é leve e projetado para flexibilidade sem exigir integração profunda na estrutura central do aplicativo.

Casos de uso

  • Construindo navegação modular em grandes aplicativos
  • Criando navegação aninhada dentro de widgets
  • Implementando gerenciamento dinâmico de rotas
  • Habilitar componentes de navegação reutilizáveis
  • Testando a lógica de navegação de forma isolada

Principais recursos

  • Integração fácil em qualquer lugar na árvore de widgets
  • Suporta definições de rota personalizadas
  • Promove lógica de navegação reutilizável
  • Boilerplate mínimo
  • Funciona de forma independente do navegador principal

Indicado para

  • Desenvolvedores construindo padrões complexos de navegação
  • Equipes que precisam de arquitetura UI modular
  • Aplicativos com navegação dinâmica ou aninhada
  • Fluxos de trabalho de desenvolvimento orientado por testes
  • Componentes de interface personalizados que exigem navegação interna

Considerações

  • Não destinado como substituto do MaterialApp.router
  • Requer gerenciamento cuidadoso do estado quando usado em múltiplos contextos
  • Pode aumentar a complexidade se usado em excesso em aplicativos simples
  • Recursos específicos da plataforma limitados em comparação com navegadores integrados

README original

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

Custom navigator

A flutter package that makes it easy to create your own navigator anywhere in the widget tree.

A common use for such widget is when you need to implement an "Always presenting bottom navigation bar"

Getting Started

First you need to add the package to your pubspec.yaml file.

Custom scaffold

CustomScaffold is a stateful widget that uses the CustomNavigator to to handle item transition of [BottomNavigationBar] with nested navigation while keeping the [BottomNavigationBar] visible!

Usage
// Here's the custom scaffold widget
// It takes a normal scaffold with mandatory bottom navigation bar
// and children who are your pages
CustomScaffold(
      scaffold: Scaffold(
        bottomNavigationBar: BottomNavigationBar(
          items: _items,
        ),
      ),

      // Children are the pages that will be shown by every click
      // They should placed in order such as
      // `page 0` will be presented when `item 0` in the [BottomNavigationBar] clicked.
      children: <Widget>[
        Page('0'),
        Page('1'),
        Page('2'),
      ],

      // Called when one of the [items] is tapped.
      onItemTap: (index) {},
    );

See the custom_scaffold_example for more details


Custom navigator

The CustomNavigator is fairly easy to use

Usage

CustomNavigator(
        home: YourChildWidget(),
        //Specify your page route [PageRoutes.materialPageRoute] or [PageRoutes.cupertinoPageRoute]
        pageRoute: PageRoutes.materialPageRoute,
      );

Then you can call it using the same old Navigator.of(context)

Options
  • you can specify Named routes exactly like in MaterialApp.

if you want to use the default [Navigator] you need to specify a [GlobalKey] to your [MaterialApp] and use it navigatorKey.currentState

See the example for more details.

Categorias

Repositório-fonte

Projetos que usam este pacote