class MyPage extends StatelessWidget {
const MyPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Appbar icon menu'),
centerTitle: true,
elevation: 0.0,
actions: [IconButton(
icon: Icon(Icons.shopping_cart),
onPressed: () {
print('shopping cart is clicked');
},
),
IconButton(
icon: Icon(Icons.search),
onPressed: () {
print('search button is clicked');
},
),
],
),// AppBar
drawer: buildDrawer(),
);
}
Widget buildDrawer() {
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
UserAccountsDrawerHeader(
currentAccountPicture: CircleAvatar(
backgroundImage: AssetImage('asse/bba.png');
backgroundColor: Colors.white
),
otherAccountPicture: [
CircleAvatar(
backgroundImage: AssetImage('bba.png');
backgroundColor: Colors.white
),
],
accountName: Text('bbanto'),
accountEmail: Text('bbanto@gmail.com'),
onDetailsPressed: () {print('detail');},
decoration: BoxDecoration(
color: Colors.red[200],
// round
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(40.0),
bottomRight: Radius.circular(40.0),
),
),
),
ListTile(
leading: Icon(
// leading은 맨 처음을 기준으로 붙여줌
Icons.home,
color: Colors.grey[850],
),
title: Text('Home'),
onTap: (){
print('Home is clicked');
},
trailing: Icon(Icons.add),
// trailing은 맨 끝을 기준으로 붙여줌
),
ListTile(
leading: Icon(
// leading은 맨 처음을 기준으로 붙여줌
Icons.settings,
color: Colors.grey[850],
),
title: Text('Setting'),
onTap: (){
print('Setting is clicked');
},
trailing: Icon(Icons.add),
),
ListTile(
leading: Icon(
Icons.question_answer,
color: Colors.grey[850],
),
title: Text('Q&A'),
onTap: (){
print('Q&A is clicked');
},
trailing: Icon(Icons.add),
),
],
),
);
}
}
ListView 복수의 ListTile위젯을 나열