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

inkblob_navigation_bar 封面
套件詳情v0.1.2

inkblob_navigation_bar

具有平滑且動態墨水blob過渡效果的自訂導航欄。

近 30 天下載
16
喜歡數
39
Pub 分數
70

安裝套件

flutter pub add inkblob_navigation_bar

套件介紹

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

一個可自訂的底端導航列,具備平滑、動態的墨點轉場效果,透過流暢的視覺反饋增強使用者互動。專為Flutter應用設計,以發光並擴張的類似墨水漣漪動畫,為選取項目提供優雅的替代方案。此套件輕量且易於整合,非常適合強調細微動畫與精緻微互動的現代介面。支援自訂顏色、尺寸與圖示樣式,讓開發者能順暢地符合應用程式之設計語彙。

適用情境

  • 增強移動應用導航使用者體驗
  • 建立視覺上吸引人的底端標籤
  • 為標籤選擇添加動畫反饋
  • 現代化遺留導航欄
  • 設計帶有動態元素的極簡介面

主要特色

  • 平滑的墨水斑點過渡動畫
  • 可自訂顏色和尺寸
  • 與現有 Flutter 應用輕鬆整合
  • 支援圖示和標籤自訂
  • 輕量且高效

適合對象

  • 尋求現代導航 UI 的 Flutter 開發人員
  • 專注於使用者體驗和視覺精緻的應用程式
  • 設計人員實現互動式底部導航
  • 需要微妙但有影響力動畫的項目
  • 具有簡潔現代美感的移動應用

使用建議

  • 可能不適合所有設計風格或品牌
  • 對低階設備的效能影響
  • 有限的平台特定行為自定義
  • 需要仔細考慮顏色對比度以確保可訪問性
  • 不建議用於高度複雜的導航結構

原始 README

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

Inkblob_navigation_bar

A custom navigation bar with smooth & dynamic ink blob transition effect.

Overview

This packages was inspired by this post from Dribbble

Implemented:

Gallery

Dynamic Movement
Customizable Curve
Custom Colors
Optional Titles
Works with any widgets

How to install

Simply add the package to your dependencies! No other steps required :)

Documentation

To use the InkblobNavigationBar you can simply use it in the bottomNavigationBar field of your material scaffold:

Scaffold(
  ...
  bottomNavigationBar: InkblobNavigationBar(
    ...
  )
)
You can customize these attributes in the navigation bar.
Attributes Type Description Default
showElevation bool Enable subtle shadow effect true
items List<InkblobBarItem> Item data for NavigationBar required
onItemSelected Function(int) Callback function when item tapped null
selectedIndex int Selected item index of navigation bar. required
previousIndex int Previously selected item index of navigation bar. selectedIndex
iconSize double Size of icons. 24.0
backgroundColor Color Background color of [CustomNavigationBar] Theme.bottomAppBarColor
containerHeight double Height of the NavigationBar 60
itemWidth double Total width of each item 2*containerHeight
curve Curve Animation curve of scale effect Curves.easInOutExpo
animationDuration Duration Duration of the total animation Duration(milliseconds: 270)

Attention: Both the selectedIndex and previousIndex are required for the animation to perform, an example of how to implement this is shown in the provided example app.

To customize the items in the navigation bar, just supply a list of InkblobBarItem like this.

InkblobNavigationBar(
  ...
  items: [
    // Simple Icon with a Title & Color
    InkblobBarItem(
      title: const Text('User'),
      filledIcon: const Icon(SpiriIcons.fi_sr_user),
      emptyIcon: const Icon(SpiriIcons.fi_rr_user),
      color: Colors.blue,
    ),
    // Custom Containers
    InkblobBarItem(
      filledIcon: Container(
        decoration: BoxDecoration(
          color: Colors.black,
          borderRadius: BorderRadius.circular(12),
        ),
      ),
      emptyIcon: Container(
        decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(12),
          border: Border.all(color: Colors.black, width: 2),
        ),
      ),
    ),
    // Even Text Widgets
    InkblobBarItem(
      filledIcon: const Text('❤️', style: TextStyle(fontSize: 20)),
      emptyIcon: const Text('🖤', style: TextStyle(fontSize: 20)),
      color: Colors.red,
    ),
  ],
)

Example

Check the example app for a full implementation example.

Contribute

Issues and pull requests are always welcome!
If you found this project helpful, consider buying me a cup of :coffee:

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。