[ Tab(text: "热._flutter 顶部tab">
当前位置:   article > 正文

Flutter之自定义顶部Tab——Flutter基础系列_flutter 顶部tab

flutter 顶部tab

需求:

顶部导航条的功能实现。

 

一、普通顶部导航栏

效果图:

  1. DefaultTabController(
  2. length: 2, //配置顶部tab的数量
  3. child: Scaffold(
  4. appBar: AppBar(
  5. title: Text("普通顶部导航栏"),
  6. bottom: TabBar(
  7. tabs: <Widget>[
  8. Tab(text: "热门"),
  9. Tab(text: "推荐"),
  10. ]
  11. ),
  12. ),
  13. body: TabBarView( //点击bar对应的内容,第一个组件对应第一个bar,第二个对应第二个,以此类推
  14. children: [
  15. Center(
  16. child: Text("第一个页面"),
  17. ),
  18. Center(
  19. child: Text("第二个页面"),
  20. )
  21. ],
  22. ),
  23. ),
  24. );

 

二、TabBar放在导航最顶部

比如已经设置底部导航栏再设置其中页面的顶部导航栏 出现问题: 因为底部导航栏已经使用过Scaffold设置了顶部栏目主题信息,再使用顶部导航栏 时候还要使用Scaffold设置,这就导致了会有两个顶部栏目,即两个标题

解决方案: 将顶部导航栏的内容放置自身Scaffold的title中,而不是放到bottom中

效果图:

  1. DefaultTabController(
  2. length: 2,
  3. child: Scaffold(
  4. appBar: AppBar(
  5. automaticallyImplyLeading:false, //去掉顶部返回按钮
  6. title: Row( //因为title接收组件,故在title中设置导航栏
  7. children: <Widget>[
  8. Expanded(
  9. child: TabBar(
  10. tabs: <Widget>[
  11. Tab(text: '分类1'),
  12. Tab(text: '分类2',)
  13. ],
  14. )
  15. )
  16. ],
  17. ),
  18. ),
  19. body:TabBarView(
  20. children: <Widget>[
  21. Text('分类111'),
  22. Text('分类222')
  23. ],
  24. ),
  25. ),
  26. );

顶部导航栏参数配置

在TabBar中与tabs同级设置

  1. isScrollable: false, //是否可滚动
  2. indicatorColor: Colors.red, //bar的下划线指示器选中颜色
  3. indicatorWeight: 3, //bar的下划线指示器的高度
  4. indicatorPadding: EdgeInsets.all(8.0), //bar的下划线指示器的padding
  5. labelColor: Colors.yellow, //标签文字颜色
  6. indicatorSize: TabBarIndicatorSize.label, //下划线指示器与标签文字等宽,默认为tab与bar等宽
  7. labelStyle: TextStyle(), //标签文字样式
  8. labelPadding: EdgeInsets.only(left: 8.0), //标签文字padding
  9. unselectedLabelColor: Colors.white, //未选中文字标签颜色
  10. unselectedLabelStyle: TextStyle(), //未选中文字标签样式

基础篇

------------------------------------------------------------

 

 

Flutter之自定义底部导航条以及页面切换实例——Flutter基础系列

Flutter之自定义顶部Tab——Flutter基础系列

Flutter之抽屉组件drawer,设置drawer宽度——Flutter基础系列

Flutter之自定义按钮RaisedButton、OutlineButton、IconButton等——Flutter基础系列

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/431853
推荐阅读
相关标签
  

闽ICP备14008679号