import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return NavigationSelectBarWidget();
}
}
class NavigationSelectBarWidget extends StatelessWidget
{
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
home: DefaultTabController(
length: choices.length,
child: Scaffold(
appBar: AppBar(
title: Text("Tab AppBar"),
bottom: TabBar(
isScrollable: true,
tabs: choices.map((Choice choice) {
return Tab(
text: choice.title,
icon: Icon(choice.icon),
);
}).toList(),
),
),
body: TabBarView(
children: choices.map((Choice choice){
return Padding(
padding: EdgeInsets.all(20.0),
child: ChoiceCardWidget(choice: choice,),
);
}).toList(),
),
),
),
);
}
}
class Choice {
final String title;
final IconData icon;
const Choice({this.title,this.icon});
}
const List<Choice> choices = const <Choice>[
const Choice(title: 'Car',icon: Icons.directions_car),
const Choice(title: 'Bicycle', icon: Icons.directions_bike),
const Choice(title: 'Boat', icon: Icons.directions_boat),
const Choice(title: 'Bus', icon: Icons.directions_bus),
const Choice(title: 'Train', icon: Icons.directions_railway),
const Choice(title: 'Walk', icon: Icons.directions_walk),
const Choice(title: 'Run', icon: Icons.directions_run),
const Choice(title: 'Eta', icon: Icons.drive_eta),
];
class ChoiceCardWidget extends StatelessWidget {
final Choice choice;
ChoiceCardWidget({Key key,this.choice}) : super(key : key);
@override
Widget build(BuildContext context) {
// TODO: implement build
return Padding(
padding: EdgeInsets.all(20.0),
child: Card(
color: Colors.white,
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(choice.icon,size: 200.0,color: Colors.blue,),
Padding(padding: EdgeInsets.only(bottom: 50.0),),
Text(choice.title,style: TextStyle(fontSize: 50.0),)
],
),
),
),
);
}
}
Flutter 顶部的滑动导航栏
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 先看设计图 依然是丑的要死的一幅图,这一次只关注整体框架,即顶部导航栏,我们需要完成一个可以点击的导航栏,点击四个...
- 实现方式:material下则可以使用Tabbar+ TabBarView来实现。CupertinoPageSca...
- 前言: 正在做一个资讯类app,打算一边做一边整理,供自己学习与巩固。用到的知识复杂度不高,仅适于新手。经验不多,...
- 哎,这个效果我去年就写好,但是一直没有放上来。今年把这个放上来一看,感觉我这个轮子造晚了。类似‘今日头条顶部导航栏...
- HTML代码: 导航栏的类 轮播图的ID CSS代码: JQ代码: 最终效果图: 未下拉 下拉结果: