Dart 如何自定义选项卡栏指示器的宽度和高度?
我正在使用一个TabBar小部件,我想定制指示器的高度和宽度。除了可以修改的颜色,我看不到任何其他属性Dart 如何自定义选项卡栏指示器的宽度和高度?,dart,flutter,Dart,Flutter,我正在使用一个TabBar小部件,我想定制指示器的高度和宽度。除了可以修改的颜色,我看不到任何其他属性 如果您不希望选项卡按默认方式水平扩展以填充屏幕,请为选项卡栏指定IsCrollable:true属性 您可以使用包装在PreferredSize中的容器来调整选项卡栏的大小。(只有当您希望它位于AppBar的底部插槽中时,PreferredSize才是必需的)这会使指示器显示得更窄,因为选项卡栏不填充屏幕。但是,指示器具有硬编码高度。如果您不喜欢它,则必须导入自己的副本并自定义该文件中的常量
如果您不希望选项卡按默认方式水平扩展以填充屏幕,请为
选项卡栏
指定IsCrollable:true
属性
您可以使用包装在PreferredSize
中的容器来调整选项卡栏的大小。(只有当您希望它位于AppBar
的底部插槽中时,PreferredSize
才是必需的)这会使指示器显示得更窄,因为选项卡栏不填充屏幕。但是,指示器具有硬编码高度。如果您不喜欢它,则必须导入自己的副本并自定义该文件中的常量
请注意,您还可以使用容器
来设置单个选项卡
的高度,尽管这似乎不是您想要做的
您可以使用选项卡栏上的indicatorSize:TabBarIndicatorSize.label
使指示器与标签大小相同
或者您可以直接设置指示器
,这是一个装饰
,您可以自定义:
AppBar(
bottom: TabBar(
indicator: UnderlineTabIndicator(
borderSide: BorderSide(width: 5.0),
insets: EdgeInsets.symmetric(horizontal:16.0)
),
tabs: [
Tab(text: 'tab 1'),
Tab(text: 'tab 2'),
Tab(text: 'tab 3'),
],
),
);
有关更多自定义选项,请选中此项。您可以使用属性选项卡栏(指示器重量:细节高度)
您可以调整选项卡之间的间距->labelPadding:EdgeInsets.symmetric(水平:5),与此答案相同,最好使用容器,但我只使用一个容器
换一种方式,我将使用底部栏
bottomNavigationBar:新材质(
颜色:Colors.teal,
子容器:新容器(
身高:60.0,
孩子:新的TabBar(
控制器:控制器,
选项卡:[
新建选项卡(图标:新建图标(Icons.access_alarm)),
新建选项卡(图标:新建图标(图标.帐户\余额)),
]
),
)
),
查看套装,了解更高级的款式。这个答案肯定对我有帮助。我不明白为什么它没有被标记为答案。谢谢设置应用程序栏的高度如何?我们有类似的解决方案吗?如果我需要为所有选项卡使用固定宽度的指示器怎么办?您所说的细节高度是什么意思?
AppBar(
bottom: TabBar(
indicator: UnderlineTabIndicator(
borderSide: BorderSide(width: 5.0),
insets: EdgeInsets.symmetric(horizontal:16.0)
),
tabs: [
Tab(text: 'tab 1'),
Tab(text: 'tab 2'),
Tab(text: 'tab 3'),
],
),
);
bottomNavigationBar: new Material(
color: Colors.teal,
child: new Container(
height: 60.0,
child: new TabBar(
controller: controller,
tabs: <Widget>[
new Tab(icon: new Icon(Icons.access_alarm)),
new Tab(icon: new Icon(Icons.account_balance)),
]
),
)
),