-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathAppBar.dart
More file actions
76 lines (68 loc) · 1.82 KB
/
AppBar.dart
File metadata and controls
76 lines (68 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello Flutter',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
debugShowCheckedModeBanner: false,
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, this.title}) : super(key: key);
final String? title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: tabList.length,
child: Scaffold(
appBar: AppBar(
title: Text("AppBar Title"),
leading: Icon(FontAwesomeIcons.dragon),
actions: <Widget>[
IconButton(
icon: Icon(FontAwesomeIcons.search),
onPressed: null,
)
],
bottom: TabBar(
tabs: tabList.map((choice) {
return Tab(
text: choice.title,
icon: Icon(choice.icon),
);
}).toList(),
),
),
body: TabBarView(
children: tabList.map((choice) {
return Center(
child: Icon(
choice.icon,
size: 100.0,
),
);
}).toList()),
),
);
}
}
class TabChoice {
final String title;
final IconData icon;
const TabChoice(this.title, this.icon);
}
const List<TabChoice> tabList = const <TabChoice>[
TabChoice('Happy', Icons.mood),
TabChoice('Sad', Icons.mood_bad),
];