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

curved_labeled_navigation_bar のカバー
パッケージ詳細v2.0.6

curved_labeled_navigation_bar

印象的なアニメーションカーブ形状ナビゲーションバー。色、背景色、アニメーションカーブ、アニメーション期間を調整可能。

AndroidiOSmacOSWindowsLinux
30日間ダウンロード
2330
いいね数
145
Pub ポイント
160

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

flutter pub add curved_labeled_navigation_bar

パッケージ概要

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

Flutterアプリ用の視覚的に印象的なアニメーション付きカーブナビゲーションバー。カスタマイズ可能な色、背景トーン、アニメーション曲線、および期間設定を備えたスムーズな遷移を実現します。美的魅力とユーザー参加を重視する現代的なUIに最適です。このパッケージはAndroid、iOS、macOS、Windows、Linuxなど複数のプラットフォームをサポートしており、デバイス間で一貫したデザインを確保します。ダイナミックなアニメーションによりユーザー体験が向上し、実装のシンプルさも維持されています。

用途

  • モダンなアプリインターフェース
  • モバイルおよびデスクトップアプリケーション
  • インタラクティブUIコンポーネント
  • カスタムの下部ナビゲーションバー
  • 強化されたユーザー体験

主な機能

  • アニメーション可能なカーブ形状
  • カスタマイズ可能な色
  • 調整可能なアニメーションカーブ
  • アニメーションの持続時間のカスタマイズ
  • クロスプラットフォーム対応
  • ラベル付きのナビゲーション項目

適している対象

  • デザイン重視の開発者
  • 視覚的なインパクトを必要とするアプリ
  • UI/UXデザイナー
  • Flutterの初心者が高度なウィジェットを探している
  • カスタムナビゲーションが必要なプロジェクト

注意事項

  • 低スペックデバイスでのパフォーマンスに影響を与える可能性があります
  • アクセシビリティのための慎重な色のコントラストが必要です
  • アニメーション設定は、さまざまなデバイスでテストする必要があります
  • 下部ナビゲーションの使用ケースに限定
  • ミニマリスティックなデザインには適していません

元の README

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

curved_labeled_navigation_bar

pub package

A Flutter package for easy implementation of curved navigation bar. This package is a fork of the original curved_navigation_bar from https://github.com/rafalbednarczuk/curved_navigation_bar with label for CurvedNavigationBarItem.

Label No Label
Gif Gif
Add dependency
dependencies:
  curved_labeled_navigation_bar: ^2.0.6 #latest version
Easy to use
Scaffold(
  bottomNavigationBar: CurvedNavigationBar(
    backgroundColor: Colors.blueAccent,
    items: [
      CurvedNavigationBarItem(
        child: Icon(Icons.home_outlined),
        label: 'Home',
      ),
      CurvedNavigationBarItem(
        child: Icon(Icons.search),
        label: 'Search',
      ),
      CurvedNavigationBarItem(
        child: Icon(Icons.chat_bubble_outline),
        label: 'Chat',
      ),
      CurvedNavigationBarItem(
        child: Icon(Icons.newspaper),
        label: 'Feed',
      ),
      CurvedNavigationBarItem(
        child: Icon(Icons.perm_identity),
        label: 'Personal',
      ),
    ],
    onTap: (index) {
      // Handle button tap
    },
  ),
  body: Container(color: Colors.blueAccent),
)
Attributes
CurvedNavigationBar
Attribute Description
items List of CurvedNavigationBarItem
index Index of NavigationBar, can be used to change current index or to set initial index
color Color of NavigationBar, default Colors.white
buttonBackgroundColor Background color of floating button, default same as color attribute
backgroundColor Color of NavigationBar's background, default Colors.blueAccent
onTap Function handling taps on items
letIndexChange Function which takes page index as argument and returns bool. If function returns false then page is not changed on button tap. It returns true by default
animationCurve Curves interpolating button change animation, default Curves.easeOut
animationDuration Duration of button change animation, default Duration(milliseconds: 600)
height Height of NavigationBar
maxWidth Allows to set the width of the navigation bar lower than the entire screen width by default
iconPadding Padding of icon in floating button
CurvedNavigationBarItem
Attribute Description
child Icon of CurvedNavigationBarItem
label Text of CurvedNavigationBarItem
labelStyle TextStyle for label
Change page programmatically
 // State class
  int _page = 0;
  GlobalKey<CurvedNavigationBarState> _bottomNavigationKey = GlobalKey();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        bottomNavigationBar: CurvedNavigationBar(
          key: _bottomNavigationKey,
          items: [
            CurvedNavigationBarItem(
              child: Icon(Icons.home_outlined),
              label: 'Home',
            ),
            CurvedNavigationBarItem(
              child: Icon(Icons.search),
              label: 'Search',
            ),
            CurvedNavigationBarItem(
              child: Icon(Icons.chat_bubble_outline),
              label: 'Chat',
            ),
            CurvedNavigationBarItem(
              child: Icon(Icons.newspaper),
              label: 'Feed',
            ),
            CurvedNavigationBarItem(
              child: Icon(Icons.perm_identity),
              label: 'Personal',
            ),
          ],
          onTap: (index) {
            setState(() {
              _page = index;
            });
          },
        ),
        body: Container(
          color: Colors.blueAccent,
          child: Center(
            child: Column(
              children: <Widget>[
                Text(_page.toString(), textScaler: TextScaler.linear(10.0)),
                ElevatedButton(
                  child: Text('Go To Page of index 1'),
                  onPressed: () {
                    // Page change using state does the same as clicking index 1 navigation button
                    final CurvedNavigationBarState? navBarState =
                        _bottomNavigationKey.currentState;
                    navBarState?.setPage(1);
                  },
                )
              ],
            ),
          ),
        ),
    );
  }

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

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

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