main.dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'conf/config.dart' as conf;
import 'views/bottomBarItem.dart';
void main() {
runApp(MaterialApp(
title: conf.appName,
theme: ThemeData(
primarySwatch: Colors.red
),
home: testPage(),
)
);
}
class testPage extends StatefulWidget {
@override
_testPageState createState() => _testPageState();
}
class _testPageState extends State<testPage> {
int current_index = 0;
_changePage(index){
if (index != current_index){
setState(() {
current_index = index;
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("test bottom bar item"),
),
body: pages[current_index],
bottomNavigationBar: BottomNavigationBar(
items: bottomNavItems,
onTap: (index){
_changePage(index);
},
currentIndex: current_index,
type: BottomNavigationBarType.fixed, // other
),
);
}
}
other page (home.msg,userInfo)
import 'package:flutter/material.dart';
class homePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: [
Text("home"),
],
),
),
);
}
}
pages
import 'package:demo4/views/home.dart';
import 'package:flutter/material.dart';
import 'home.dart';
import 'msgPage.dart';
import 'userInfoPage.dart';
// 底部导航栏页面
final List<BottomNavigationBarItem> bottomNavItems = [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text("主页")
),
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text("消息")
),
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text("个人中心")
),
];
final List<Widget> pages = [homePage(),msgPage(),userInfoPage()];