Untitled
unknown
plain_text
a year ago
3.2 kB
7
Indexable
import 'package:flutter/material.dart';
void main() {
runApp(TravelApp());
}
class TravelApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Travel App',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MainInterface(),
);
}
}
class MainInterface extends StatefulWidget {
@override
_MainInterfaceState createState() => _MainInterfaceState();
}
class _MainInterfaceState extends State<MainInterface> {
int _selectedIndex = 0;
// Pages for the bottom navigation
static const List<Widget> _pages = <Widget>[
FlightsPage(),
HotelsPage(),
BusesPage(),
ProfilePage(),
];
void _onItemTapped(int index) {
setState(() {
_selectedIndex = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Travel App"),
centerTitle: true,
),
body: _pages[_selectedIndex],
bottomNavigationBar: BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.flight),
label: 'Flights',
),
BottomNavigationBarItem(
icon: Icon(Icons.hotel),
label: 'Hotels',
),
BottomNavigationBarItem(
icon: Icon(Icons.directions_bus),
label: 'Buses',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
],
currentIndex: _selectedIndex,
selectedItemColor: Colors.blue,
onTap: _onItemTapped,
),
);
}
}
// Flights Page
class FlightsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Padding(
padding: EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
"Search Flights",
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
// Navigate to Flight Search Page
},
child: Text("Search Flights"),
),
],
),
),
);
}
}
// Hotels Page
class HotelsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Text(
"Hotels Search Coming Soon!",
style: TextStyle(fontSize: 20),
),
);
}
}
// Buses Page
class BusesPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Text(
"Bus Booking Coming Soon!",
style: TextStyle(fontSize: 20),
),
);
}
}
// Profile Page
class ProfilePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Text(
"Profile Page",
style: TextStyle(fontSize: 20),
),
);
}
}
Editor is loading...
Leave a Comment