Flutter - 사이드메뉴(Drawer)

godo·2022년 6월 8일
0

Flutter

목록 보기
16/18

drawer

drawer: MainDrawer(),

custom

import 'package:flutter/material.dart';
import '../screens/filters_screnn.dart';

class MainDrawer extends StatelessWidget {

  Widget buildListTile(String title, IconData icon, Function tapHandler) {
    return ListTile(
            leading: Icon(
              icon,
              size: 26,
            ),
            title: Text(
              title,
              style: TextStyle(
                fontFamily: 'RobotoCondensed',
                fontSize: 24,
                fontWeight: FontWeight.bold,
              ),
            ),
            onTap: tapHandler,
          );
  }

  @override
  Widget build(BuildContext context) {
    return Drawer(
      child: Column(
        children: <Widget>[
          Container(
            height: 120,
            width: double.infinity,
            padding: EdgeInsets.all(20),
            alignment: Alignment.centerLeft,
            color: Theme.of(context).accentColor,
            child: Text(
              'Cooking Up!',
              style: TextStyle(
                fontWeight: FontWeight.w900,
                fontSize: 30,
                color: Theme.of(context).primaryColor,
              ),
            ),
          ),
          SizedBox(height: 20,),
         buildListTile(
           'Meals', 
           Icons.restaurant,
           () {
             Navigator.of(context).pushReplacementNamed('/');
           }
          ),
         buildListTile(
           'Filters', 
           Icons.settings,
           () {
             Navigator.of(context).pushReplacementNamed(FiltersScreen.routeName);
           }
          ),
        ],
      ),
    );
    
  }
}
profile
☀️☀️☀️

0개의 댓글