Pakete, Repositories und App-Kategorien suchen

Cover von pluto_layout
Paketdetailsv1.0.0

pluto_layout

PlutoLayout ist ein Flutter-UI-Paket, das die Konfiguration einer Menü- oder Registerkartenansicht auf jeder Seite ermöglicht.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
130
Likes
82
Pub-Punkte
140

Paket installieren

flutter pub add pluto_layout

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

PlutoLayout ist ein Flutter-Paket, das entwickelt wurde, um an jeder Seite des Bildschirms anpassbare Menüs oder Registerkarten zu erstellen. Es ermöglicht Entwicklern die einfache Erstellung von reaktionsfähigen, seitlichen Navigationslayouts mit Unterstützung für horizontale und vertikale Anordnungen. Ideal für Dashboards, Admin-Bereiche oder Apps, die collapsible Seitenleisten benötigen, bietet es flüssige Übergänge und flexible Positionierung über mehrere Plattformen hinweg. Das Paket lässt sich mithilfe eines einfachen pub add-Befehls nahtlos in bestehende Flutter-Projekte integrieren.

Anwendungsfälle

  • Seitennavigation-Menüs
  • Dashboard-Oberflächen
  • Einklappbare Panels
  • Admin-Dashboards
  • Reaktive Layouts
  • Tab-basiertes Interface-Design

Hauptmerkmale

  • Seitenvergleichs-Anordnungskonfiguration
  • Anpassbare Menüpositionen
  • Glatte Animationen
  • Plattformübergreifende Unterstützung
  • Einfache Integration über pub
  • Flexible Widget-Platzierung

Geeignet für

  • Entwickler, die Dashboards erstellen
  • UI-Designer, die eine Seitennavigation benötigen
  • Projekte, die responsive Layouts erfordern
  • Flutter-Anfänger erkunden Layoutmuster
  • Apps mit komplexen Navigationsanforderungen

Hinweise

  • Kann zusätzliche Stilisierung für benutzerdefinierte Themen erfordern
  • Beschränkte Dokumentation über grundlegende Beispiele hinaus
  • Am besten geeignet für Einzelpane-Anordnungen
  • Leistungsbeeinträchtigung bei stark verschachtelten Widgets
  • Nicht ideal für Vollbild-Modalschichten

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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

Kategorien

Abhängigkeiten

Abhängigkeiten 3 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.