Drawer메뉴

황훈주·2022년 11월 8일
0
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위젯을 나열

profile
끄적끄적

0개의 댓글

관련 채용 정보