Menu ya drawer hii ni ile ambayo ukibofya ku kama ukurasa unafunguka na unakuwa na menu nyingine. Menu hii inawekwa kwa kutumia widget ya drawer: Drawer()
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Drawer Menu Example'),
),
body: const Center(
child: Text('Home Page'),
),
drawer: Drawer(
),
);
}
}
Baadhi ya properties za drawer:
-
Child hii inakuwa na widget kama listview, column, drawer header na title
-
Background ambayo inaweza kuwa na widget kama color
-
Elevation hii inaonyesha kivuli shini ya dawer
-
Shapeborder hii huonyesha umbo la drawer.
-
DrawerHeader hii huonyesha kichwa cha hiyo drawer
-
Listview hii husaidia kupangilia menu kwenye drawer katika orodtha. Ndani yake menu unaweza kuziweka kwenye widget ya listtitle
Mfano wa widget kwenye drawer:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Drawer Example'),
),
drawer: Drawer(
backgroundColor: Colors.blue[100],
elevation: 16.0,
child: ListView(
padding: EdgeInsets.zero,
children: const <Widget>[
DrawerHeader(
decoration: BoxDecoration(
color: Colors.blue,
),
child: Text(
'Drawer Header',
style: TextStyle(
color: Colors.white,
fontSize: 24,
),
),
),
ListTile(
leading: Icon(Icons.home),
title: Text('Home'),
),
ListTile(
leading: Icon(Icons.settings),
title: Text('Settings'),
),
],
),
),
body: const Center(
child: Text('Home.'),
),
),
);
}
}
Kwa mfano huo utaongeza menu zaidi kwenye listview. Hapo Kuna menu mbili ambazo ni setting na home.
Mwisho:
Tukutane katika somo linalofuata tutakwenda kujufunza jinsi ya kubadilisha icon kwenye App ya flutter.