如何在不改变AppBar
的情况下改变TabBar
的背景颜色?
TabBar
没有 background
属性,有解决方法吗?
最佳答案
你可以通过改变 Theme primaryColor 来改变 TabBar 的颜色:
return MaterialApp(
theme: ThemeData(
brightness: Brightness.light,
// add tabBarTheme
tabBarTheme: const TabBarTheme(
labelColor: Colors.pink[800],
labelStyle: TextStyle(color: Colors.pink[800]), // color for text
indicator: UnderlineTabIndicator( // color for indicator (underline)
borderSide: BorderSide(color: ConstColor.primary))),
primaryColor: Colors.pink[800], // outdated and has no effect to Tabbar
accentColor: Colors.cyan[600] // deprecated,
),
home: DefaultTabController(
length: 3,
child: Scaffold(
appBar: AppBar(
bottom: TabBar(
indicatorColor: Colors.lime,
tabs: [
Tab(icon: Icon(Icons.directions_car)),
Tab(icon: Icon(Icons.directions_transit)),
Tab(icon: Icon(Icons.directions_bike)),
],
),
title: Text('Tabs Demo'),
),
body: TabBarView(
children: [
Icon(Icons.directions_car),
Icon(Icons.directions_transit),
Icon(Icons.directions_bike),
],
),
),
),
);
如果您不在 AppBar 中使用它,您可以将 TabBar 包装在 Material 小部件中并设置颜色属性,如下所示:
class TabBarDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Tabs Demo'),
),
body: DefaultTabController(
length: 3,
child: Column(
children: <Widget>[
Container(
constraints: BoxConstraints(maxHeight: 150.0),
child: Material(
color: Colors.indigo,
child: TabBar(
tabs: [
Tab(icon: Icon(Icons.directions_car)),
Tab(icon: Icon(Icons.directions_transit)),
Tab(icon: Icon(Icons.directions_bike)),
],
),
),
),
Expanded(
child: TabBarView(
children: [
Icon(Icons.directions_car),
Icon(Icons.directions_transit),
Icon(Icons.directions_bike),
],
),
),
],
),
),
),
);
}
}
https://stackoverflow.com/questions/50566868/
相关文章:
android - flutter 上的图像比例类型中心裁剪?
android - 如何在 Flutter 中为文本创建气泡? (WhatsApp 用户界面)
flutter - 为什么某些变量在 flutter 自定义类中标记为最终变量?
ios - flutter IOS : CocoaPods could not find compa
firebase - 从 Flutter 中的 Firestore 集合中获取所有内容
visual-studio-code - VS Code(OSX)Flutter热重载不是由保存触发
android - 如何在 Flutter 中创建可扩展的 ListView
flutter - 如何处理在 flutter 中动态创建的复选框列表?