搜索插件、代码仓与 APP 分类

ultimate_bottom_navbar 封面
插件详情v0.0.7

ultimate_bottom_navbar

终极底部导航栏是您Flutter应用程序的可自定义底部导航栏。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
25
喜欢数
22
Pub 分数
140

安装插件

flutter pub add ultimate_bottom_navbar

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Ultimate Bottom Navigation Bar 是一个高度可定制的底部导航栏,专为 Flutter 应用设计。它提供丰富的样式选项、流畅的动画效果,并可轻松集成到 Android、iOS、Web、macOS、Windows 和 Linux 等多个平台。支持图标、标签、徽章和自定义组件,提升用户体验的同时保持简洁、响应式的界面设计。该包非常适合需要直观导航且具有现代外观的应用程序。其灵活性使其适用于简单或复杂的导航需求。

适合场景

  • 移动应用导航
  • Web 应用程序仪表板
  • 跨平台 UI 一致性
  • 可自定义的标签界面
  • 通过动画增强用户体验
  • 多平台部署

主要特点

  • 完全可自定义的外观
  • 支持图标、标签和徽章
  • 平滑过渡动画
  • 平台无关设计
  • 与 Flutter 的轻松集成
  • 广泛的配置选项

适合对象

  • 寻求灵活导航的开发者
  • 想要视觉控制的设计人员
  • 针对多个平台的应用
  • 需要动画过渡的项目
  • 注重UI一致性的团队

使用建议

  • 需要理解 Flutter 布局原理
  • 可能需要为复杂主题添加额外的样式
  • 过度使用自定义小部件的性能影响
  • 除了基本用法外,文档有限
  • 最适合包含3-6个导航项的应用程序

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Ultimate Bottom Navigation Bar

Ultimate Bottom Navigation Bar is a customizable bottom navigation bar for your Flutter applications. It allows you to easily create a navigation bar with icons and titles, and customize various aspects of its appearance and behaviors.

Under Curve

Under Curve

Upper Curve

Upper Curve

No Curve

No Curve

Static Curve

Static Upper Curve Static Under Curve

Dynamic Curve

Dynamic Upper Curve Dynamic Under Curve

Other Customiztions

Customizaions

How To Use

Ultimate Bottom Navigation Bar can be used with Scaffold by setting up at bottomNavigationBar property.

Add this to your package's pubspec.yaml file, use the latest version

dependencies:
  ultimate_bottom_navbar: ^latest_version
import 'package:ultimate_bottom_navbar/ultimate_bottom_navbar.dart';
    int currentIndex = 0;

    final List<String> title = [
        "Favourite",
        "Wallet",
        "Home",
        "Freeze",
        "Alarm"
    ];

    final List<IconData> icons = [
        Icons.favorite, 
        Icons.wallet_giftcard_sharp, 
        Icons.home, 
        Icons.ac_unit_outlined, 
        Icons.access_alarm_rounded, 
    ];

    final List pages = [
        const Page1(),
        const Page2(),
        const Page3(),
        const Page4(),
        const Page5(),
    ];
  
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: pages[currentIndex],
        bottomNavigationBar: UltimateBottomNavBar(
            icons         : icons,
            titles        : title,
            currentIndex  : currentIndex,
            onTap         : (index) async => onItemTapped(index), 
        ),
    );
  }

  void onItemTapped(int index) async{
    setState(() {
        currentIndex = index;
    });
  }

RTL Support

Works For Both RTL and LTR and can be configured with Directionality:

Directionality(
  textDirection: TextDirection.rtl,
  child: Scaffold(bottomNavigationBar:UltimateBottomNavBar()),
)

Controls For Upper And Under Curve And Stroke Borders

  • Upper Curves:

  • Control the width and shape of the upper curves using various X and Y control points.

  • Adjust stroke properties for the upper curves, such as width and control points.

  • Under Curves:

  • Manage the width and shape of the under curves with specific X and Y control points.

  • Modify stroke properties for the under curves, including width and control points.

These properties collectively allow users to finely control the appearance of upper and under curves, as well as stroke borders, providing flexibility in customizing the graphical elements of the interface.

Properties

Property Description
icons Required Icons
titles Required Titles Use Empty Text For No Title
currentIndex Required Current Selected Index
backgroundColor Solid Background Color
foregroundColor Solid Foreground Color
foregroundStrokeBorderColor Foreground Stroke Solid Border Color
backgroundStrokeBorderColor Background Stroke Solid Border Color
backgroundStrokeBorderWidth Background Stroke Border Thickness
foregroundStrokeBorderWidth Foreground Stroke Border Thickness
backgroundGradient Background Gradient Color
foreGroundGradientShader Foreground Gradient Shader Color
foregroundStrokeGradientShader Foreground Stroke Border Gradient Shader Color
backgroundStrokeGradientShader Background Stroke Border Gradient Shader Color
navMargin Bottom Navigation Margin
backgroundBorderRadius Background Border Radius
selectedIconColor Selected Icon Color
selectedIconSize Selected Icon Size
selectedTextSize Selected Text Size
selectedTextColor Selected Text Color
unselectedIconColor Unselected Icon Color
unselectedIconSize Unselected Icon Size
unselectedTextSize Unselected Text Size
unselectedTextColor Unselected Text Color
showForeGroundStrokeAllSide Show Foreground Stroke Border All Sides
showBackGroundStrokeAllSide Show Background Stroke Border All Sides
useForeGroundGradient Use Foreground Gradient Color
showForeGround Show Hide Foreground
useForegroundShaderStroke Use Foreground Shader Border Stroke Color
useBackgroundShaderStroke Use Background Shader Border Stroke Color
underCurve Under Curve Or Upper Curve
staticCurve Static Curve Or Dynamic Curve
showCircleStaticMidItemStatic Show Circle Decoration For Static Curve
midItemCircleColorStatic Mid Item Circle Color For Static Curve
midItemCircleBorderColorStatic Mid Item Circle Border Color For Static Curve
showMidCircleStatic Show Mid Circle Or Hide For Static Curve
midCircleRadiusStatic Mid Circle Radius For Static Curve
midCircleBorderRadiusStatic Mid Circle Border Radius For Static Curve
customSelectedItemDecor Custom Selected Item Decoration
customUnSelectedItemDecor Custom Unselected Item Decoration
badgeData Badge Data For Individual Item
badgeColor Badge Background Color
badgeTextStyle Badge Text Style
badgeCircleRadius Badge Circle Radius
badgeTopPosition Badge Top Position
badgeBottomPosition Badge Bottom Position
badgeLeftPosition Badge Left Position
badgeRightPosition Badge Right Position
backgroundHeight Height for Background Container
foregroundHeight Height for Foreground Container
animationType Animation Type
animationDuration Animation Duration
onTap Item Tap Function
upperCurveWidthCtrl Controls the width of the upper curve.
leftX1UpperCurveCtrl Controls the x-coordinate of the left control point 1.
leftY1UpperCurveCtrl Controls the y-coordinate of the left control point 1.
leftX2UpperCurveCtrl Controls the x-coordinate of the left control point 2.
leftY2UpperCurveCtrl Controls the y-coordinate of the left control point 2.
leftX3UpperCurveCtrl Controls the x-coordinate of the left control point 3.
leftY3UpperCurveCtrl Controls the y-coordinate of the left control point 3.
rightX1UpperCurveCtrl Controls the x-coordinate of the right control point 1.
rightY1UpperCurveCtrl Controls the y-coordinate of the right control point 1.
rightX2UpperCurveCtrl Controls the x-coordinate of the right control point 2.
rightY2UpperCurveCtrl Controls the y-coordinate of the right control point 2.
rightX3UpperCurveCtrl Controls the x-coordinate of the right control point 3.
rightY3UpperCurveCtrl Controls the y-coordinate of the right control point 3.
upperStrokeCurveWidthCtrl Controls the width of the upper stroke curve.
leftStrokeX1UpperCurveCtrl Controls the x-coordinate of the left control point 1 for the upper stroke.
leftStrokeY1UpperCurveCtrl Controls the y-coordinate of the left control point 1 for the upper stroke.
leftStrokeX2UpperCurveCtrl Controls the x-coordinate of the left control point 2 for the upper stroke.
leftStrokeY2UpperCurveCtrl Controls the y-coordinate of the left control point 2 for the upper stroke.
leftStrokeX3UpperCurveCtrl Controls the x-coordinate of the left control point 3 for the upper stroke.
leftStrokeY3UpperCurveCtrl Controls the y-coordinate of the left control point 3 for the upper stroke.
rightStrokeX1UpperCurveCtrl Controls the x-coordinate of the right control point 1 for the upper stroke.
rightStrokeY1UpperCurveCtrl Controls the y-coordinate of the right control point 1 for the upper stroke.
rightStrokeX2UpperCurveCtrl Controls the x-coordinate of the right control point 2 for the upper stroke.
rightStrokeY2UpperCurveCtrl Controls the y-coordinate of the right control point 2 for the upper stroke.
rightStrokeX3UpperCurveCtrl Controls the x-coordinate of the right control point 3 for the upper stroke.
rightStrokeY3UpperCurveCtrl Controls the y-coordinate of the right control point 3 for the upper stroke.
underCurveWidthCtrl Controls the width of the under curve.
leftX1UnderCurveCtrl Controls the x-coordinate of the left control point 1 for the under curve.
leftY1UnderCurveCtrl Controls the y-coordinate of the left control point 1 for the under curve.
leftX2UnderCurveCtrl Controls the x-coordinate of the left control point 2 for the under curve.
leftY2UnderCurveCtrl Controls the y-coordinate of the left control point 2 for the under curve.
leftX3UnderCurveCtrl Controls the x-coordinate of the left control point 3 for the under curve.
leftY3UnderCurveCtrl Controls the y-coordinate of the left control point 3 for the under curve.
rightX1UnderCurveCtrl Controls the x-coordinate of the right control point 1 for the under curve.
rightY1UnderCurveCtrl Controls the y-coordinate of the right control point 1 for the under curve.
rightX2UnderCurveCtrl Controls the x-coordinate of the right control point 2 for the under curve.
rightY2UnderCurveCtrl Controls the y-coordinate of the right control point 2 for the under curve.
rightX3UnderCurveCtrl Controls the x-coordinate of the right control point 3 for the under curve.
rightY3UnderCurveCtrl Controls the y-coordinate of the right control point 3 for the under curve.
underStrokeCurveWidthCtrl Controls the width of the under stroke curve.
leftStrokeX1UnderCurveCtrl Controls the x-coordinate of the left control point 1 for the under stroke.
leftStrokeY1UnderCurveCtrl Controls the y-coordinate of the left control point 1 for the under stroke.
leftStrokeX2UnderCurveCtrl Controls the x-coordinate of the left control point 2 for the under stroke.
leftStrokeY2UnderCurveCtrl Controls the y-coordinate of the left control point 2 for the under stroke.
leftStrokeX3UnderCurveCtrl Controls the x-coordinate of the left control point 3 for the under stroke.
leftStrokeY3UnderCurveCtrl Controls the y-coordinate of the left control point 3 for the under stroke.
rightStrokeX1UnderCurveCtrl Controls the x-coordinate of the right control point 1 for the under stroke.
rightStrokeY1UnderCurveCtrl Controls the y-coordinate of the right control point 1 for the under stroke.
rightStrokeX2UnderCurveCtrl Controls the x-coordinate of the right control point 2 for the under stroke.
rightStrokeY2UnderCurveCtrl Controls the y-coordinate of the right control point 2 for the under stroke.
rightStrokeX3UnderCurveCtrl Controls the x-coordinate of the right control point 3 for the under stroke.
rightStrokeY3UnderCurveCtrl Controls the y-coordinate of the right control point 3 for the under stroke.

Check Out example project @ example

FAQ

Create a feature requests or bugs @ Feature Request / issue tracker.

所属分类

源码仓库

使用此插件的项目

暂无相关数据。