像这个:
DefaultTabController( length: 2,child : new TabBar( labelColor: Colors.purple,indicatorColor: Colors.purple,indicatorSize: TabBarIndicatorSize.label,unselectedLabelColor: Colors.black,tabs: [ new Tab(icon: Icon(Icons.chrome_reader_mode),),new Tab(icon: Icon(Icons.clear_all),]),);
解决方法
有一个简单的hack,就是使用
indicator
属性并添加UnderlineTabIndicator(),该类命名参数名为insets,并且我添加了EdgeInsets.fromLTRB(50.0,0.0,50.0,40.0)的值,
Left: 50.0,// make indicator small by 50.0 from left
Top: 0.0,
Right: 50.0,// make indicator small by 50.0 from right
Bottom: 40.0 // pushed indicator to top by 40.0 from bottom
如下:
const textStyle = TextStyle( fontSize: 12.0,color: Colors.white,fontFamily: 'OpenSans',fontWeight: FontWeight.w600); //..... new TabBar( controller: controller,labelColor: Color(0xFF343434),labelStyle: textStyle.copyWith( fontSize: 20.0,color: Color(0xFFc9c9c9),fontWeight: FontWeight.w700),indicator: UnderlineTabIndicator( borderSide: BorderSide(color: Color(0xDD613896),width: 8.0),insets: EdgeInsets.fromLTRB(50.0,40.0),unselectedLabelColor: Color(0xFFc9c9c9),unselectedLabelStyle: textStyle.copyWith( fontSize: 20.0,tabs: [ new Tab( text: 'LOGIN',new Tab( text: 'SIGNUP',],
您还可以创建一个延伸Decoration
的自定义指标