import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> with SingleTickerProviderStateMixin{
TabController _tabController;
List tabs = ['新闻', '娱乐', '军事'];
int _seleIndex = 0;
@override
void initState() {
// TODO: implement initState
super.initState();
_tabController = new TabController(length: tabs.length, vsync: this);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('左右抽屉'),
//通过Scaffold.of(context)可以获取父级最近的Scaffold Widget的State对象
leading: Builder(builder: (context){
return IconButton(
icon: Icon(Icons.assistant),
onPressed: (){
Scaffold.of(context).openDrawer();
},
);
}),
actions: <Widget>[
Builder(builder: (context){
return IconButton(
icon: Icon(Icons.add),
onPressed: (){
Scaffold.of(context).openEndDrawer();
},
);
})
],
bottom: TabBar(
tabs: tabs.map((item)=>Tab(text: item,)).toList(),
controller: _tabController,
),
),
drawer: Drawer(
child: Center(
child: Text('左抽屉'),
),
),
endDrawer: Drawer(
child: Center(
child: Text('右抽屉'),
),
),
// bottomNavigationBar: BottomNavigationBar(
// currentIndex: _seleIndex,
// onTap: (index){
// setState(() {
// _seleIndex = index;
// });
// },
// items: <BottomNavigationBarItem>[
// BottomNavigationBarItem(
// icon: Icon(Icons.apps),
// title: Text('测试1')
// ),
// BottomNavigationBarItem(
// icon: Icon(Icons.apps),
// title: Text('测试1')
// ),
// BottomNavigationBarItem(
// icon: Icon(Icons.apps),
// title: Text('测试1')
// ),
// ]
// ),
bottomNavigationBar: BottomAppBar(
color: Colors.white,
shape: CircularNotchedRectangle(),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
IconButton(icon: Icon(Icons.home), onPressed: (){}),
SizedBox(),
IconButton(icon: Icon(Icons.business), onPressed: (){}),
],
),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: (){},
),
body: TabBarView(
controller: _tabController,
children: tabs.map((item){
return Center(
child: Text(item),
);
}).toList()
),
);
}
}
flutter---drawer + bottomNavigationBar + tabbar + tabbarview 全家桶
最新推荐文章于 2024-07-04 17:57:28 发布