搜尋套件、儲存庫與 APP 分類

arc_sidebar 封面
套件詳情v0.0.4

arc_sidebar

適用於 Flutter 的側邊欄/抽屜

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
60
喜歡數
14
Pub 分數
145

安裝套件

flutter pub add arc_sidebar

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

ArcSidebar 是一個可自定義的側邊欄或抽屜元件,專為 Flutter 應用程式設計,採用現代弧形設計以提升導航體驗。它支援 Android、iOS、Web、macOS、Windows 和 Linux 多個平台。該套件提供流暢的動畫效果、響應式佈局,並可透過簡單的 pub add 命令輕鬆整合。適用於需要直覺導航且具獨特視覺風格的應用程式,為開發者提供樣式與行為上的彈性。基於效能與易用性設計,ArcSidebar 簡化了在各種裝置類型上實現優雅側邊導航的流程。

適用情境

  • 移動和桌面應用程式導航
  • Web 應用側邊欄
  • 可自訂的抽屜介面
  • 跨平台 UI 一致性
  • 採用弧形設計,提升使用者體驗

主要特色

  • 弧形設計
  • 跨平台支援
  • 流暢的動畫
  • 可自定外觀
  • 響應式佈局
  • 透過 pub 輕鬆整合

適合對象

  • 尋求獨特抽屜設計的開發者
  • 需要跨平台一致導航的應用
  • 強調現代使用者介面美學的專案
  • 優先考慮快速UI開發的團隊
  • 注重設計的 Flutter 應用程式

使用建議

  • 可能需要額外的樣式才能實現複雜佈局
  • 除了基本用法外,文件有限
  • 大量內容可能帶來的效能影響
  • 不太適合極簡設計
  • 依賴外部依賴項以實現完整功能

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

arc_sidebar

by: Eliezer António

Imagem 1 Gif Exemplo

Installation

Add arc_sidebar: ^0.0.4 to your pubspec.yaml dependencies. And import it:

import 'package:arc_sidebar/arc_sidebar.dart';

How to use

 ArcSideBar(
            body: [
              SideBarItem(
                icon: Icons.play_arrow_outlined,
                title: 'Exhibition Screen',
                onTap: (){

                },
              ),
              SideBarItem(
                title: 'Popular Screen',
                icon: Icons.movie_outlined,
               onTap: (){
                  
                },
              ),
              SideBarItem(
                title: 'Briefly Screen',
                icon: Icons.card_giftcard,
               onTap: (){
                  
                },
              ),
            ],
      
          );
All SliderItem parameters

  Key? key,
  IconData? icon,
  TextStyle? style,
  Color? iconColor,
  String title,
  void Function()? onTap,
  

General Example

Preview


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

  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> {
  int _currentIndex = 0;
  final List<Widget> _currentScreen = [
    Container(color: Colors.red, width: 500, height: 1000),
    Container(color: Colors.purpleAccent, width: 500, height: 1000),
    Container(color: Colors.orange, width: 500, height: 1000),
    Container(color: Colors.greenAccent, width: 500, height: 1000),
  ];
  void onIconPressed(int index) async {
       if (_currentIndex == index) return; //* Prevent reconstruction of the current screen 
    setState(() {
      _currentIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: [
          _currentScreen[_currentIndex],
          ArcSideBar(
            background: Colors.white,
            header: Center(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.center,
                children: [
                  SizedBox(height: 50),
                  Icon(
                    Icons.flutter_dash,
                    size: 100,
                    color: Colors.blueAccent,
                  ),
                ],
              ),
            ),
            body: [
              SideBarItem(
                icon: Icons.play_arrow_outlined,
                title: 'Exhibition Screen',
                onTap: () => onIconPressed(0),
              ),
              SideBarItem(
                title: 'Popular Screen',
                icon: Icons.movie_outlined,
                onTap: () => onIconPressed(1),
              ),
              SideBarItem(
                title: 'Briefly Screen',
                icon: Icons.card_giftcard,
                onTap: () => onIconPressed(2),
              ),
            ],
            footer: Column(
              children: [
                ListTile(
                  title: Text("Dark Mode", style: TextStyle(fontWeight: FontWeight.w300, fontSize: 17)),
                  leading: Icon(Icons.lightbulb_outline, size: 30),
                  trailing: Switch.adaptive(
                    value: false,
                    onChanged: (value) {},
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}


🤝 Contributing to ArcSideBar
  1. Fork the Repository: Create your copy.

  2. Create a Branch:

    git checkout -b my-feature-branch
    
  3. Make Changes: Implement your feature or fix.

  4. Commit Changes:

    git commit -m "Add a new feature"
    
  5. Push to Your Fork:

    git push origin my-feature-branch
    
  6. Create a Pull Request: Submit your changes for review.

所屬分類

依賴

依賴清單 1 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。