import 'package:e2ee_chat/common/global.dart'; import 'package:e2ee_chat/l10n/localization_intl.dart'; import 'package:e2ee_chat/common/api.dart'; import 'package:e2ee_chat/presenter/theme_model.dart'; import 'package:e2ee_chat/widgets/empty.dart'; import 'package:e2ee_chat/widgets/mydrawer.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'friends.dart'; import 'group.dart'; import 'message.dart'; class HomeRoute extends StatefulWidget { @override _HomeRouteState createState() => _HomeRouteState(); } class _HomeRouteState extends State { int _index = 0; @override void initState() { super.initState(); } @override Widget build(BuildContext context) { var gm = GmLocalizations.of(context); return Scaffold( appBar: AppBar( title: Text(gm.home), actions: [ IconButton(onPressed: () { // TODO: 弹出下拉菜单 }, icon: Icon(Icons.add)) ], ), drawer: MyDrawer(), bottomNavigationBar: BottomNavigationBar( items: [ BottomNavigationBarItem(icon: Icon(Icons.chat_bubble), label: "message"), BottomNavigationBarItem(icon: Icon(Icons.people), label: "friends"), BottomNavigationBarItem(icon: Icon(Icons.person), label: "group"), ], currentIndex: _index, fixedColor: Provider.of(context).theme, onTap: _onItemTapped, ), body: RefreshIndicator( child: _buildChild(), onRefresh: () async { // TODO: pull to refresh }, ), // 构建主页面 ); } void _onItemTapped(int value) { setState(() { _index = value; }); } Widget _buildChild() { switch (_index) { case 0: return MessageList(); case 1: return FriendRoute(); case 2: return GroupRoute(); } return EmptyWidget(); } Widget _buildGroupList() { // TODO: group list return EmptyWidget(); } }