분류, 패키지 및 저장소 검색

패키지 상세v0.0.2

scrollable_reorderable_navbar

5개 이상의 네비게이션 항목을 표시할 때 스크롤 가능한 하단 네비게이션 바입니다. 사용자가 항목 위치를 스와이프하여 변경할 수 있으며, 네비게이션 바에서 항목을 삭제할 수도 있습니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
15
좋아요
30
Pub 점수
140

패키지 설치

flutter pub add scrollable_reorderable_navbar

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

5개 이상의 항목이 있을 경우 동적으로 조정되는 스크롤 및 재정렬 가능한 플러터용 하단 탐색 바입니다. 사용자는 스와이프하여 항목을 재정렬하고 바로 네비게이션 바에서 삭제할 수 있습니다. 많은 탭을 가진 앱에서 직관적인 탐색을 위해 설계되었으며, 모바일과 데스크톱 플랫폼 모두에서 사용성을 향상시킵니다. 이 패키지는 Android, iOS, 웹, macOS, Windows, Linux 등 모든 주요 플랫폼을 지원합니다. 부드러운 스크롤링과 제스처 기반의 재정렬 및 삭제를 결합하여 탐색 항목을 관리하기 위한 유연한 인터페이스를 제공합니다.

사용 사례

  • 5개 이상의 탐색 항목을 가진 앱
  • 사용자 정의 가능한 하단 탐색 레이아웃
  • 사용자 중심의 탭 재정렬
  • 동적 탐색 항목 관리
  • 데스크톱 및 모바일 크로스플랫폼 앱

주요 기능

  • 5개 이상의 항목이 있는 경우 스크롤 가능
  • 스와이프로 재정렬 기능
  • 탐색 항목 삭제
  • 크로스 플랫폼 지원 (Android, iOS, Web, macOS, Windows, Linux)
  • 부드러운 제스처 기반 상호작용

적합한 대상

  • 유연한 하단 네비게이션 바가 필요한 개발자
  • 동적 탐색 사용자 정의가 필요한 앱
  • 여러 플랫폼을 대상으로 하는 프로젝트
  • UIs with frequent user interaction on navigation
  • 상호작용형 탐색 컴포넌트를 찾는 디자이너

고려 사항

  • 추가 상태 관리가 필요할 수 있습니다
  • 정적 탐색 설정에 적합하지 않음
  • 매우 큰 항목 목록과 함께 성능에 미치는 영향
  • 하단 탐색 레이아웃으로 제한
  • 항목 삭제 UX를 신중하게 다뤄야 합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

ScrollableReordableNavbar for Flutter

A flutter plugin for create bottom nav bar that can be scrolled when there are than 5 nav items to display. It also let user swipe items position and item can be deleted from the navbar.

Installing:

In your pubspec.yaml

dependencies:
  scrollable_reorderable_navbar: ^0.0.1
import 'package:scrollable_reorderable_navbar/scrollable_reorderable_navbar.dart';


Basic Usage:

    ScrollableReorderableNavBar(
      onItemTap: (arg) {
        setState(() {
          _selectedIndex = arg;
        });
      },
      onReorder: (oldIndex, newIndex) {
        final currItem = _items[_selectedIndex];
        if (oldIndex < newIndex) newIndex -= 1;
          final newItems = [..._items], item = newItems.removeAt(oldIndex);
          newItems.insert(newIndex, item);
        setState(() {
          _items = newItems;
          _selectedIndex = _items.indexOf(currItem);
        });
      },
    items: _items,
    selectedIndex: _selectedIndex,
    onDelete: (index) => setState(() => _items.removeAt(index)),
    deleteIndicationWidget: Container(
      padding: const EdgeInsets.only(bottom: 100),
      child: Align(
        alignment: Alignment.bottomCenter,
        child: Wrap(
          alignment: WrapAlignment.center,
          crossAxisAlignment: WrapCrossAlignment.center,
          direction: Axis.vertical,
          children: [
            Text("Tap on nav item to delete it.",
              style: Theme.of(context).textTheme.bodyText1,
              textAlign: TextAlign.center),
            TextButton(onPressed: () {}, child: const Text("DONE"))
          ],
        ),
      ),
    ),
  )


Custom usage

There are options that let you custom the navbar:\

Properties Description
List<NavBarItem> items Items composing the navbar, every items should have different names
int selectedIndex The index of the selected NavBarItem
ValueChanged<int> onItemTap Which behaviour should have after the user tap on a NavBarItem
ReorderCallback onReorder Which behaviour should have after user swap 2 NavBarItem
Widget deleteIndicationWidget The Widget displayed on top of the delete overlay to show user that he can tap on NavBarItem to delete them
ValueChanged<int> onDelete Which behaviour should have after user delete a NavBarItem
ReorderItemProxyDecorator? proxyDecorator How the widget should look like on a reorder operation
Color backgroundColor Background color of the navbar
Duration duration Duration of the animations
BoxDecoration? decoration Decoration of the entire navbar. You should use either backgroundColor or this one

Additional information

Don't hesitate to suggest any features or fix that will improve the package!

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.