TabBar的使用需要结合AppBar,现在给出AppBar的使用说明地址:AppBar的使用说明

TabBar的定义


TabBar在使用之前,首先需要熟悉他的定义属性,现在查看常用定义属性:

const TabBar({

Key key,

@required this.tabs,//必须实现的,设置需要展示的tabs,最少需要两个

this.controller,

this.isScrollable = false,//是否需要滚动,true为需要

this.indicatorColor,//选中下划线的颜色

this.indicatorWeight = 2.0,//选中下划线的高度,值越大高度越高,默认为2

this.indicatorPadding = EdgeInsets.zero,

this.indicator,//用于设定选中状态下的展示样式

this.indicatorSize,//选中下划线的长度,label时跟文字内容长度一样,tab时跟一个Tab的长度一样

this.labelColor,//设置选中时的字体颜色,tabs里面的字体样式优先级最高

this.labelStyle,//设置选中时的字体样式,tabs里面的字体样式优先级最高

this.labelPadding,

this.unselectedLabelColor,//设置未选中时的字体颜色,tabs里面的字体样式优先级最高

this.unselectedLabelStyle,//设置未选中时的字体样式,tabs里面的字体样式优先级最高

this.dragStartBehavior = DragStartBehavior.start,

this.onTap,//点击事件

})

TabBar的使用

===================================================================

TabBar在使用的过程中有点类似于新闻或者电商样式中有关导航条下面有一个可以滚动的一行按钮;现在给出演示代码:

Widget _appBar_bottom_demo() {

return MaterialApp(

home: DefaultTabController(

length: 14,

child: Scaffold(

appBar: AppBar(

primary: true,//为false的时候会影响leading,actions、titile组件,导致向上偏移

textTheme: TextTheme(//设置AppBar上面各种字体主题色

// title: TextStyle(color: Colors.red),

),

actionsIconTheme: IconThemeData(color: Colors.blue,opacity: 0.6),//设置导航右边图标的主题色,此时iconTheme对于右边图标颜色会失效

iconTheme: IconThemeData(color: Colors.black,opacity: 0.6),//设置AppBar上面Icon的主题颜色

brightness: Brightness.dark,//设置导航条上面的状态栏显示字体颜色

backgroundColor: Colors.amber,//设置背景颜色

// shape: CircleBorder(side: BorderSide(color: Colors.red, width: 5, style: BorderStyle.solid)),//设置appbar形状

// automaticallyImplyLeading: true,//在leading为null的时候失效

// bottom: PreferredSize(child: Text(‘data’), preferredSize: Size(30, 30)),//出现在导航条底部的按钮

bottom: TabBar(

onTap: (int index){

print(‘Selected…$index’);

},

unselectedLabelColor: Colors.grey,//设置未选中时的字体颜色,tabs里面的字体样式优先级最高

unselectedLabelStyle: TextStyle(fontSize: 20),//设置未选中时的字体样式,tabs里面的字体样式优先级最高

labelColor: Colors.black,//设置选中时的字体颜色,tabs里面的字体样式优先级最高

labelStyle: TextStyle(fontSize: 20.0),//设置选中时的字体样式,tabs里面的字体样式优先级最高

isScrollable: true,//允许左右滚动

indicatorColor: Colors.red,//选中下划线的颜色

indicatorSize: TabBarIndicatorSize.label,//选中下划线的长度,label时跟文字内容长度一样,tab时跟一个Tab的长度一样

indicatorWeight: 6.0,//选中下划线的高度,值越大高度越高,默认为2。0

// indicator: BoxDecoration(),//用于设定选中状态下的展示样式

tabs: [

Text(‘精选’,style: TextStyle(

color: Colors.green,

fontSize: 16.0

),),

Text(‘猜你喜欢’,style: TextStyle(

color: Colors.indigoAccent,

fontSize: 16.0

),),

Text(‘母婴’),

Text(‘儿童’),

Text(‘女装’),

Text(‘百货’),

Text(‘美食’),

Text(‘美妆’),

Text(‘母婴’),

Text(‘儿童’),

Text(‘女装’),

Text(‘百货’),

Text(‘美食’),

Text(‘美妆’),

]

),

centerTitle: true,

title: Text(‘AppBar Demo’),

leading: IconButton(

icon: Icon(Icons.add),

onPressed: (){

print(‘add click…’);

}

),

actions: [

IconButton(icon: Icon(Icons.search), onPressed: (){print(‘search…’);}),

IconButton(icon: Icon(Icons.history), onPressed: (){print(‘history…’);}),

],

),

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
ndroid开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐