パッケージ、リポジトリ、アプリカテゴリを検索

multilevel_drawer のカバー
パッケージ詳細v2.0.0

multilevel_drawer

Flutterアプリケーション向けに簡単に実装できるマルチレベルドロワーです。通常のScaffoldドロワーの代わりにこれを使用するだけで、すぐに利用できます。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
80
いいね数
132
Pub ポイント
130

パッケージをインストール

flutter pub add multilevel_drawer

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Flutterアプリ向けに設計されたシンプルでカスタマイズ可能なマルチレベルドロワーです。標準のScaffoldドロワーの即時交換として設計されています。ネストされたメニューによる階層的なナビゲーションを可能にし、複雑なアプリケーションにおけるユーザー体験を向上させます。すべての主要プラットフォームをサポートしており、最小限のセットアップで利用可能。デフォルトのドロワーをこのウィジェットに置き換えるだけでOK。構造化された折りたたみ式ナビゲーションが必要なアプリに最適です。

用途

  • 複雑なアプリケーションナビゲーション
  • 階層型メニュー システム
  • モバイルおよびウェブダッシュボード
  • 管理パネル
  • ネストされたセクションを含むユーザー設定

主な機能

  • ネストされたドロワーのレベル
  • Scaffold との簡単な統合
  • クロスプラットフォーム対応
  • カスタマイズ可能な外観
  • 最小構成が必要

適している対象

  • 機能豊富なアプリを開発する開発者
  • 深いナビゲーション構造を持つアプリ
  • 直感的なナビゲーションを求めるデザイナー
  • 迅速な実装を重視するチーム

注意事項

  • 高度なデザインにはカスタムスタイルが必要になる場合があります
  • 制限された組み込みアニメーション
  • 中程度のネストレベルに最適
  • 非常にシンプルなナビゲーションのニーズには適していません
  • 深い階層構造には慎重なUX設計が必要です

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

MultiLevel Drawer

An easy to implement Multi Level Drawer for Flutter Applications. Just use this in place of regular Scaffold Drawer and you are ready to go.

Current Features

  • Add MultiLevel Drawer to Selected Items
  • Change Color of Main and Sub menu According to your Application Needs.

Demo

Usage

To Use, simply add MultiLevelDrawer to your Scaffold's drawer property:

      child: Scaffold(
        drawer: MultiLevelDrawer(
          backgroundColor: Colors.white,
          rippleColor: Colors.white,
          subMenuBackgroundColor: Colors.grey.shade100,
          header: Container(                  // Header for Drawer
            height: size.height * 0.25,
            child: Center(child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Image.asset("assets/dp_default.png",width: 100,height: 100,),
                SizedBox(height: 10,),
                Text("RetroPortal Studio")
              ],
            )),
          ),

          children: [           // Child Elements for Each Drawer Item
            MLMenuItem(
                leading: Icon(Icons.person),
                trailing: Icon(Icons.arrow_right),
                content: Text(
                  "My Profile",
                ),
                subMenuItems: [
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 1")),
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 2")),
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 3")),
                ],
                onClick: () {}),
            MLMenuItem(
                leading: Icon(Icons.settings),
                trailing: Icon(Icons.arrow_right),
                content: Text("Settings"),
                onClick: () {},
                subMenuItems: [
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 1")),
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 2"))
                ]),
            MLMenuItem(
              leading: Icon(Icons.notifications),
              content: Text("Notifications"),
              onClick: () {},
            ),
            MLMenuItem(
                leading: Icon(Icons.payment),
                trailing: Icon(Icons.arrow_right),
                content: Text(
                  "Payments",
                ),
                subMenuItems: [
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 1")),
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 2")),
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 3")),
                  MLSubmenu(onClick: () {}, submenuContent: Text("Option 4")),
                ],
                onClick: () {}),
          ],
        ),
        appBar: AppBar(
          backgroundColor: Colors.white,
          iconTheme: IconThemeData(color: Colors.black),
          title: Text(
            "Multi Level Menu",
            style: TextStyle(color: Colors.black),
          ),
        ),
        body: Container(
            decoration: BoxDecoration(
              gradient:
              LinearGradient(begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [
                Color.fromRGBO(255, 65, 108, 1.0),
                Color.fromRGBO(255, 75, 43, 1.0),
              ]),
            ),
            child: Center()),
      ),

Important Classes:

MLMenuItem //For Each direct child item of Drawer
MLSubmenu  //For Adding Submenu to MLMenuItem

Roadmap

Plans to add more customizations.

License

MIT

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。