Buscar pacotes, repositórios e categorias de apps

Capa de pluto_layout
Detalhes do pacotev1.0.0

pluto_layout

PlutoLayout é um pacote de interface do usuário Flutter que pode configurar uma tela de menu ou guia em cada lado.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
130
Curtidas
82
Pontos Pub
140

Instalar pacote

flutter pub add pluto_layout

Visão geral do pacote

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

PlutoLayout é um pacote Flutter projetado para criar interfaces de menu ou guias personalizáveis em qualquer lado da tela. Permite que desenvolvedores criem layouts de navegação laterais responsivos com facilidade, suportando arranjos horizontais e verticais. Ideal para painéis de controle, painéis administrativos ou aplicativos que exigem barras laterais colapsáveis, oferece transições suaves e posicionamento flexível em múltiplas plataformas. O pacote se integra perfeitamente em projetos Flutter existentes usando apenas um comando pub add.

Casos de uso

  • Menus de navegação laterais
  • Interfaces de usuário do painel
  • Painéis colapsáveis
  • Painéis de controle do administrador
  • Layouts responsivos
  • Design de interface com guias

Principais recursos

  • Configuração de layout lado a lado
  • Posições de menu personalizáveis
  • Animações suaves
  • Suporte multiplataforma
  • Integração fácil por meio do pub
  • Posicionamento flexível de widgets

Indicado para

  • Desenvolvedores construindo aplicativos de painel
  • Designers de interface precisando de navegação lateral
  • Projetos que exigem layouts responsivos
  • Iniciantes do Flutter explorando padrões de layout
  • Aplicativos com necessidades complexas de navegação

Considerações

  • Pode exigir estilos adicionais para temas personalizados
  • Documentação limitada além dos exemplos básicos
  • Mais adequado para layouts de painel único
  • Impacto no desempenho com widgets profundamente aninhados
  • Não ideal para sobreposições modais de tela cheia

README original

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

PlutoLayout - v1.0.0

License: MIT

PlutoLayout is a Flutter UI package that can configure a menu or tab screen on each side.
You can adjust the width of the tab menu by dragging the right border of the tab menu.
You can also assign custom shortcut keys to open or close tab views and resize tab views.

Demo

Demo Web

Installation

pub.dev

Screenshot

PlutoLayout Screenshot

Usage
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:pluto_layout/pluto_layout.dart';

void main() {
  runApp(const ExampleApp());
}

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData.dark(useMaterial3: true),
      home: const ExamplePage(),
    );
  }
}

class ExamplePage extends StatefulWidget {
  const ExamplePage({super.key});

  @override
  State<ExamplePage> createState() => _ExamplePageState();
}

class _ExamplePageState extends State<ExamplePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: PlutoLayout(
        shortcuts: {
          LogicalKeySet(LogicalKeyboardKey.escape):
          PlutoLayoutActions.hideAllTabView(),
          LogicalKeySet(LogicalKeyboardKey.alt, LogicalKeyboardKey.digit1):
          PlutoLayoutActions.rotateTabView(
            PlutoLayoutContainerDirection.left,
          ),
          LogicalKeySet(LogicalKeyboardKey.alt, LogicalKeyboardKey.digit2):
          PlutoLayoutActions.rotateTabView(
            PlutoLayoutContainerDirection.right,
          ),
          LogicalKeySet(LogicalKeyboardKey.alt, LogicalKeyboardKey.arrowUp):
          PlutoLayoutActions.increaseTabView(),
          LogicalKeySet(LogicalKeyboardKey.alt, LogicalKeyboardKey.arrowDown):
          PlutoLayoutActions.decreaseTabView(),
        },
        body: const PlutoLayoutContainer(
          child: Text('Body container'),
        ),
        top: PlutoLayoutContainer(
          child: PlutoLayoutTabs(
            items: [
              PlutoLayoutTabItem(
                id: 'top1',
                title: 'top1',
                tabViewBuilder: (e) => const Text('top1'),
              ),
              PlutoLayoutTabItem(
                id: 'top2',
                title: 'top2',
                tabViewBuilder: (e) => const Text('top2'),
              ),
            ],
          ),
        ),
        left: PlutoLayoutContainer(
          child: PlutoLayoutTabs(
            items: [
              PlutoLayoutTabItem(
                id: 'left1',
                title: 'left1',
                tabViewBuilder: (e) => const Text('left1'),
              ),
              PlutoLayoutTabItem(
                id: 'left2',
                title: 'left2',
                tabViewBuilder: (e) => const Text('left2'),
              ),
            ],
          ),
        ),
        right: PlutoLayoutContainer(
          child: PlutoLayoutTabs(
            items: [
              PlutoLayoutTabItem(
                id: 'right1',
                title: 'right1',
                tabViewBuilder: (e) => const Text('right1'),
              ),
              PlutoLayoutTabItem(
                id: 'right2',
                title: 'right2',
                tabViewBuilder: (e) => const Text('right2'),
              ),
            ],
          ),
        ),
        bottom: PlutoLayoutContainer(
          child: PlutoLayoutTabs(
            items: [
              PlutoLayoutTabItem(
                id: 'bottom1',
                title: 'bottom1',
                tabViewBuilder: (e) => const Text('bottom1'),
              ),
              PlutoLayoutTabItem(
                id: 'bottom2',
                title: 'bottom2',
                tabViewBuilder: (e) => const Text('bottom2'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Flutter version compatible
Flutter PlutoLayout
3.7.0 or higher 1.0.0 or higher
Less than 3.3.7 0.x

Related packages

develop packages that make it easy to develop admin pages or CMS with Flutter.


Donate to this project

Buy me a coffee


Jetbrains provides a free license

IDE license support

Categorias

Dependências

Lista de dependências 3 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.