Search packages, repositories and app categories

flutter_admin_scaffold cover
Package detailsv1.4.0

flutter_admin_scaffold

A scaffold class with a sideBar that works with a appBar.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
861
Likes
208
Pub points
140

Install package

flutter pub add flutter_admin_scaffold

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that provides a customizable scaffold with a responsive sidebar and app bar, designed for admin dashboards and complex navigation layouts. It supports both drawer and navigation rail patterns, adapting seamlessly across platforms including mobile, web, and desktop. The scaffold ensures consistent UI structure while enabling smooth navigation and layout management. Ideal for applications requiring structured, multi-level navigation with clean visual hierarchy.

Use cases

  • Admin dashboards
  • Dashboard interfaces
  • Multi-platform apps
  • Complex navigation layouts
  • Responsive UI design

Key features

  • SideBar integration
  • AppBar compatibility
  • Responsive layout
  • Drawer and Navigation Rail support
  • Cross-platform consistency

Suitable for

  • Developers building admin panels
  • Teams needing consistent navigation
  • Projects targeting multiple platforms
  • UI-heavy applications
  • Apps with hierarchical content

Considerations

  • Requires careful handling of nested routes
  • May need custom styling for unique designs
  • Best suited for larger applications
  • Limited to navigation-focused use cases
  • Depends on proper route management

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

flutter_admin_scaffold

A scaffold class with a sideBar that works with a appBar.

example.gif

Usage

import 'package:flutter_admin_scaffold/admin_scaffold.dart';

You can add a sideBar as shown below. See example for details.

import 'package:flutter/material.dart';
import 'package:flutter_admin_scaffold/admin_scaffold.dart';

class SamplePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return AdminScaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(
        title: const Text('Sample'),
      ),
      sideBar: SideBar(
        items: const [
          AdminMenuItem(
            title: 'Dashboard',
            route: '/',
            icon: Icons.dashboard,
          ),
          AdminMenuItem(
            title: 'Top Level',
            icon: Icons.file_copy,
            children: [
              AdminMenuItem(
                title: 'Second Level Item 1',
                route: '/secondLevelItem1',
              ),
              AdminMenuItem(
                title: 'Second Level Item 2',
                route: '/secondLevelItem2',
              ),
              AdminMenuItem(
                title: 'Third Level',
                children: [
                  AdminMenuItem(
                    title: 'Third Level Item 1',
                    route: '/thirdLevelItem1',
                  ),
                  AdminMenuItem(
                    title: 'Third Level Item 2',
                    route: '/thirdLevelItem2',
                  ),
                ],
              ),
            ],
          ),
        ],
        selectedRoute: '/',
        onSelected: (item) {
          if (item.route != null) {
            Navigator.of(context).pushNamed(item.route!);
          }
        },
        header: Container(
          height: 50,
          width: double.infinity,
          color: const Color(0xff444444),
          child: const Center(
            child: Text(
              'header',
              style: TextStyle(
                color: Colors.white,
              ),
            ),
          ),
        ),
        footer: Container(
          height: 50,
          width: double.infinity,
          color: const Color(0xff444444),
          child: const Center(
            child: Text(
              'footer',
              style: TextStyle(
                color: Colors.white,
              ),
            ),
          ),
        ),
      ),
      body: SingleChildScrollView(
        child: Container(
          alignment: Alignment.topLeft,
          padding: const EdgeInsets.all(10),
          child: const Text(
            'Dashboard',
            style: TextStyle(
              fontWeight: FontWeight.w700,
              fontSize: 36,
            ),
          ),
        ),
      ),
    );
  }
}

Categories

Source repository

Projects using this package

No data available yet.