diamond_bottom_bar 1.0.0 diamond_bottom_bar: ^1.0.0 copied to clipboard
Custom bottom navigation bar with diamond icon in the middle.
import 'package:diamond_bottom_bar/diamond_bottom_bar.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
int _selectedIndex = 0;
late Widget _selectedWidget;
@override
void initState() {
_selectedWidget = const HomeScreen();
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Diamond Bottom Bar',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
body: _selectedWidget,
bottomNavigationBar: DiamondBottomNavigation(
itemIcons: const [
Icons.home,
Icons.notifications,
Icons.message,
Icons.account_box,
],
centerIcon: Icons.place,
selectedIndex: _selectedIndex,
onItemPressed: onPressed,
),
),
);
}
void onPressed(index) {
setState(() {
_selectedIndex = index;
if (index == 0) {
_selectedWidget = const HomeScreen();
}else if (index == 1) {
_selectedWidget = const NotificationScreen();
}else if (index == 2) {
_selectedWidget = const LocationScreen();
}else if (index == 3) {
_selectedWidget = const MessagesScreen();
}else if (index == 4) {
_selectedWidget = const ProfileScreen();
}
});
}
}
class HomeScreen extends StatelessWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Center(child: Text("Home Screen"));
}
}
class NotificationScreen extends StatelessWidget {
const NotificationScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Center(child: Text("Notification Screen"));
}
}
class LocationScreen extends StatelessWidget {
const LocationScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Center(child: Text("Location Screen"));
}
}
class MessagesScreen extends StatelessWidget {
const MessagesScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Center(child: Text("Messages Screen"));
}
}
class ProfileScreen extends StatelessWidget {
const ProfileScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Center(child: Text("Profile Screen"));
}
}