import 'package:flutter/material.dart';
class LearnTabBar extends StatefulWidget{
@override
State<StatefulWidget> createState() {
return _LearnTabBar();
}
}
class _LearnTabBar extends State<LearnTabBar>{
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new DefaultTabController(
length: choices.length,
child: new Scaffold(
appBar: new AppBar(
primary: true,
title: new Text("title"),
bottom: new TabBar(
isScrollable: true,
indicatorColor: Colors.yellowAccent,
indicatorWeight: 10.0,
indicatorSize: TabBarIndicatorSize.tab,
tabs: choices.map((Choice c){
return new Tab(
text: c.title,
icon: new Icon(c.icon),
);
}).toList(),
),
),
body: new TabBarView(
children: choices.map((Choice c){
return new Padding(
padding: EdgeInsets.all(10.0),
child: new Card(
elevation:10.0,
child: new Center(
child:new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Icon(
c.icon,
size: 100.0,
color: Colors.blue,
),
new Text(
c.title,
style:new TextStyle(
color: Colors.blue,
fontSize: 30.0
) ,
),
],
),
),
),
);
}).toList(),
),
),
),
);
}
}
class Choice{
const Choice({this.icon,this.title});
final String title;
final IconData icon;
}
const List<Choice> choices=const <Choice>[
const Choice(title: "CAR",icon: Icons.directions_car),
const Choice(title: "PRINT",icon: Icons.print),
const Choice(title: "ANDROID",icon: Icons.android),
const Choice(title: "MAP",icon: Icons.map),
const Choice(title: "PHONE",icon: Icons.phone),
const Choice(title: "ALARMS",icon: Icons.access_alarms),
const Choice(title: "BLUETOOTH",icon: Icons.bluetooth),
];
flutter控件之TabBar
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- GitHub:https://github.com/happy-python/flutter_demos/tree...