21Flutter Drawer侧边栏、以及侧边栏内容布局
阅读原文时间:2023年07月11日阅读:2

Tabs.dart

import 'package:flutter/material.dart';
import 'tabs/Home.dart';
import 'tabs/Category.dart';
import 'tabs/Setting.dart';

class Tabs extends StatefulWidget {
final index;
Tabs({Key key, this.index = }) : super(key: key);
_TabsState createState() => _TabsState(this.index);
}

class _TabsState extends State {
int _currentIndex = ;
_TabsState(index) {
this._currentIndex = index;
}
List _pageList = [HomePage(), CategoryPage(), SettingPage()];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Demo'),
),
bottomNavigationBar: BottomNavigationBar(
currentIndex: this._currentIndex,
onTap: (int index) {
// print(index);
setState(() {
this._currentIndex = index;
});
},
iconSize: 36.0,
type: BottomNavigationBarType.fixed,
fixedColor: Colors.red,
items: [
BottomNavigationBarItem(icon: Icon(Icons.home), title: Text('首页')),
BottomNavigationBarItem(
icon: Icon(Icons.category), title: Text('分类')),
BottomNavigationBarItem(
icon: Icon(Icons.settings), title: Text('设置')),
]),
body: this._pageList[this._currentIndex],
drawer: Drawer(
child: Column(
children: [
Row(
children: [
// Expanded(
// child: DrawerHeader(
// child: Text('你好Flutter'),
// decoration: BoxDecoration(
// // color: Colors.yellow
// image: DecorationImage(
// image: NetworkImage('https://www.itying.com/images/flutter/2.png'),
// fit:BoxFit.cover
// ),
// ),
// )
// )

            Expanded(  
              child: UserAccountsDrawerHeader(  
                accountName: Text('老师你好'),  
                accountEmail: Text('gztt@163.com'),  
                currentAccountPicture: CircleAvatar(  
                  backgroundImage: NetworkImage(  
                      'https://www.itying.com/images/flutter/3.png'),  
                ),  
                decoration: BoxDecoration(  
                  // color: Colors.yellow  
                  image: DecorationImage(  
                      image: NetworkImage(  
                          'https://www.itying.com/images/flutter/2.png'),  
                      fit: BoxFit.cover),  
                ),  
                otherAccountsPictures: <Widget>\[  
                  Image.network(  
                      'https://www.itying.com/images/flutter/5.png'),  
                  Image.network(  
                      'https://www.itying.com/images/flutter/4.png')  
                \],  
              ),  
            )  
          \],  
        ),  
        ListTile(  
            leading: CircleAvatar(  
              child: Icon(Icons.home),  
            ),  
            title: Text('我的空间')),  
        Divider(),  
        ListTile(  
          leading: CircleAvatar(  
            child: Icon(Icons.home),  
          ),  
          title: Text('用户中心'),  
          onTap: () {  
            Navigator.of(context).pop();  
            Navigator.pushNamed(context, '/user');  
          }  
        ),  
        Divider(),  
        ListTile(  
          leading: CircleAvatar(  
            child: Icon(Icons.home),  
          ),  
          title: Text('用户中心'),  
        )  
      \],  
    ),  
  ),  
  endDrawer: Drawer(  
    child: Text('右侧侧边栏'),  
  ),  
);  

}
}