Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.0.2

golden_layout

Uma biblioteca de janelas internas para o Flutter baseada em http://golden-layout.com/

Downloads em 30 dias
21
Curtidas
36
Pontos Pub
40

Instalar pacote

flutter pub add golden_layout

Visão geral do pacote

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

Golden Layout é um pacote do Flutter que traz as poderosas capacidades de gerenciamento de janelas da biblioteca Golden Layout para aplicativos Flutter. Permite que desenvolvedores criem layouts de interface complexos, redimensionáveis e arrastáveis com múltiplos painéis, suportando disposições aninhadas e conteúdo dinâmico. Projetado para interfaces de aplicativos internos, é ideal para ferramentas que exigem áreas de trabalho personalizáveis, como painéis de controle, IDEs ou plataformas de visualização de dados. O pacote se integra perfeitamente ao sistema de widgets do Flutter, mantendo desempenho e responsividade.

Casos de uso

  • Interfaces de painel
  • ambientes de desenvolvimento semelhantes a IDE
  • Ferramentas de visualização de dados
  • Aplicativos de relatórios multi-painel
  • Áreas de trabalho do usuário personalizáveis

Principais recursos

  • Painéis redimensionáveis e arrastáveis
  • Suporte para layout aninhado
  • Disposição dinâmica de painéis
  • Suporte para múltiplos tipos de conteúdo
  • Integração com widgets do Flutter

Indicado para

  • Desenvolvedores construindo interfaces de usuário complexas
  • Aplicações que precisam de layouts de área de trabalho flexíveis
  • Ferramentas que exigem interfaces multi-pane
  • Aplicações Flutter semelhantes ao desktop
  • Ferramentas internas com foco em UI

Considerações

  • Não otimizado para designs mobile-first
  • Documentação disponível limitada
  • Pode exigir estilização personalizada para casos de uso avançados
  • Mais adequado para cenários de desktop ou tablet
  • Complexidade potencial na gestão de estado

README original

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

Buy Me A Coffee Donate golden_layout

golden_layout

A Flutter inspired package from http://golden-layout.com/

Demo: https://rodydavis.github.io/golden_layout/

screenshot

Example

import 'package:flutter/material.dart';
import 'package:golden_layout/golden_layout.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Golden Layout'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final _controller = WindowController();
  int _count = 0;

  @override
  void initState() {
    final _group = WindowGroup();
    _group.addTab(_getTab(_count++));
    (_controller.base as WindowColumn).children.add(_group);
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
        actions: [
          IconButton(
            tooltip: 'Add Window',
            icon: Icon(Icons.restore),
            onPressed: () {
              if (mounted)
                setState(() {
                  _controller.base =
                      WindowColumn([WindowGroup()..addTab(_getTab(_count++))]);
                });
            },
          ),
          IconButton(
            tooltip: 'Add Group',
            icon: Icon(Icons.list),
            onPressed: () {
              if (mounted)
                setState(() {
                  final _group = WindowGroup();
                  _group.addTab(_getTab(_count++));
                  (_controller.base as WindowColumn).children.add(_group);
                });
            },
          ),
          IconButton(
            tooltip: 'Add Row',
            icon: Icon(Icons.category),
            onPressed: () {
              if (mounted)
                setState(() {
                  final _group1 = WindowGroup()..addTab(_getTab(_count++));
                  final _group2 = WindowGroup()..addTab(_getTab(_count++));
                  (_controller.base as WindowColumn)
                      .children
                      .add(WindowRow([_group1, _group2]));
                });
            },
          ),
        ],
      ),
      body: GoldenLayout(
        controller: _controller,
      ),
    );
  }

  WindowTab _getTab(int count) {
    return WindowTab(
        title: 'Window $count',
        child: Container(color: Colors.red[100 * count]));
  }
}

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.