This Package makes it easy for you to create a responsive web app by handling the navigation bar for you, There's a tonne of customization options, and we'll continue to support improvements and more features.
desktop nav_bar
mobile nav_bar
mobile drawer menu (full mode)
Usage
Find an example for package usage inside the /example
folder.
import 'package:flutter/material.dart';
import 'package:ruki_nav_bar/ruki_nav_bar.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Demo',
debugShowCheckedModeBanner: false,
home: LayoutBuilder(
builder: (_,constraints){
return SiteNavBar.get(
body: Container(
color: Colors.grey[100],
),
indicatorLineThickness: 4,
drawerMode: NavDrawerMode.full,
pageIndicator: PageIndicator.outlined,
itemPosition: NavItemPosition.right,
drawerHeader: Container(),
drawerFooter: Container(height: 50,color: Colors.grey[200],),
leading: const Text("Logo",style: TextStyle(color: Colors.red,fontSize: 30),),
navItemSpacing: 8,
navItems: [
NavItem(relativeIndex: 0, label: "Home", activeColor: Colors.blue, onTap: (){}),
NavItem(relativeIndex: 1, label: "About us",activeColor: Colors.blue, onTap: (){}),
NavItem(relativeIndex: 2, label: "Contact us",activeColor: Colors.blue, onTap: (){}),
]
).getNavBar(DeviceType.desktop.currentDevice(constraints.maxWidth));
},
)
);
}
}
API Reference
Name | Object-type |
---|---|
type | DeviceType |
height | double |
title | Widget |
itemsPosition | NavItemPosition |
enableDrawer | bool |
MAX_PAGE_WIDTH | double |
titleText | String |
backgroundColor | Color |
leading | Widget |
items | List |
actions | List |
fab | Widget |
showFab | bool |
navItemSpacing | double |
pageIndicator | double |
indicatorLineThickness | double |
customDecoration | ShapeDecoration |
drawerHeader | Widget |
drawerBody | Widget |
drawerFooter | Widget |